README: add link for automatic readme display
[sudo-osx-update.git] / patches / 0007-Clean-the-environment.patch.txt
blob5248f93e973d6478bdd7fb8e3e0039fcea39c609
1 Subject: [PATCH] Clean the environment
3 The OS X version has a more limited white list but does include
4 OS X specific variables such as __CF_USER_TEXT_ENCODING in its
5 default sudoers file.
6 ---
7  env.c       |  2 ++
8  sudo.man.in |  7 ++++++-
9  sudoers.in  | 13 +++++++++++++
10  3 files changed, 21 insertions(+), 1 deletion(-)
12 diff --git a/env.c b/env.c
13 index 52dff6db..fc554bf1 100644
14 --- a/env.c
15 +++ b/env.c
16 @@ -220,9 +220,11 @@ static const char *initial_checkenv_table[] = {
17  static const char *initial_keepenv_table[] = {
18      "COLORS",
19      "DISPLAY",
20 +    "HOME",
21      "HOSTNAME",
22      "KRB5CCNAME",
23      "LS_COLORS",
24 +    "MAIL",
25      "PATH",
26      "PS1",
27      "PS2",
28 diff --git a/sudo.man.in b/sudo.man.in
29 index f88e4123..7f4eb4db 100644
30 --- a/sudo.man.in
31 +++ b/sudo.man.in
32 @@ -834,7 +834,12 @@ The list of environment variables that
33  allows or denies is
34  contained in the output of
35  ``\fRsudo -V\fR''
36 -when run as root.
37 +when run as root.  This list reflects the built-in defaults,
38 +which may be overridden in \fIsudoers\fR.
39 +.PP
40 +On OS X, \fIsudoers\fR has been configured to only whitelist a small set
41 +of environment variables by default.  See the \fIsudoers\fR file for more
42 +information.
43  .PP
44  Note that the dynamic linker on most operating systems will remove
45  variables that can control dynamic linking from the environment of
46 diff --git a/sudoers.in b/sudoers.in
47 index a391cf44..9d42601e 100644
48 --- a/sudoers.in
49 +++ b/sudoers.in
50 @@ -61,6 +61,19 @@
51  # Defaults!/usr/bin/sudoreplay !log_output
52  # Defaults!/usr/local/bin/sudoreplay !log_output
53  # Defaults!/sbin/reboot !log_output
54 +Defaults       env_reset
55 +Defaults       env_keep += "BLOCKSIZE"
56 +Defaults       env_keep += "COLORFGBG COLORTERM"
57 +Defaults       env_keep += "__CF_USER_TEXT_ENCODING"
58 +Defaults       env_keep += "CHARSET LANG LANGUAGE LC_ALL LC_COLLATE LC_CTYPE"
59 +Defaults       env_keep += "LC_MESSAGES LC_MONETARY LC_NUMERIC LC_TIME"
60 +Defaults       env_keep += "LINES COLUMNS"
61 +Defaults       env_keep += "LSCOLORS"
62 +Defaults       env_keep += "SSH_AUTH_SOCK"
63 +Defaults       env_keep += "TZ"
64 +Defaults       env_keep += "DISPLAY XAUTHORIZATION XAUTHORITY"
65 +Defaults       env_keep += "EDITOR VISUAL"
66 +Defaults       env_keep += "HOME MAIL"
68  ##
69  ## Runas alias specification
70 -- 
71 1.8.3