Author: glen Date: Tue Sep 14 21:15:20 2010 GMT Module: packages Tag: HEAD ---- Log message: - restore to pre 1.7.4 behaviour of -H and $HOME ($MAIL)
---- Files affected: packages/sudo: sudo.spec (1.172 -> 1.173) , bug-440.patch (NONE -> 1.1) (NEW) ---- Diffs: ================================================================ Index: packages/sudo/sudo.spec diff -u packages/sudo/sudo.spec:1.172 packages/sudo/sudo.spec:1.173 --- packages/sudo/sudo.spec:1.172 Tue Sep 14 22:17:51 2010 +++ packages/sudo/sudo.spec Tue Sep 14 23:15:15 2010 @@ -1,7 +1,4 @@ # $Revision$, $Date$ -# TODO -# - think of reverting 1.7.4 "behaviour" for -H and $HOME: -# http://www.gratisoft.us/bugzilla/show_bug.cgi?id=440 # # Conditional build: %bcond_with kerberos5 # enable Kerberos V support (conflicts with PAM) @@ -25,7 +22,7 @@ Summary(uk.UTF-8): Дозволяє вказаним користувачам виконувати команди від імені root Name: sudo Version: 1.7.4p4 -Release: 1 +Release: 2 Epoch: 1 License: BSD Group: Applications/System @@ -36,6 +33,7 @@ Source3: %{name}.logrotate Patch0: %{name}-libtool.patch Patch1: %{name}-env.patch +Patch2: bug-440.patch URL: http://www.sudo.ws/sudo/ BuildRequires: autoconf >= 2.53 BuildRequires: automake @@ -147,6 +145,7 @@ %patch0 -p1 %patch1 -p1 +%patch2 -p1 %build %{__mv} install-sh install-custom-sh @@ -264,6 +263,9 @@ All persons listed below can be reached at <cvs_login>@pld-linux.org $Log$ +Revision 1.173 2010/09/14 21:15:15 glen +- restore to pre 1.7.4 behaviour of -H and $HOME ($MAIL) + Revision 1.172 2010/09/14 20:17:51 glen - upstream bug ================================================================ Index: packages/sudo/bug-440.patch diff -u /dev/null packages/sudo/bug-440.patch:1.1 --- /dev/null Tue Sep 14 23:15:20 2010 +++ packages/sudo/bug-440.patch Tue Sep 14 23:15:15 2010 @@ -0,0 +1,57 @@ +--- 1.7.4p4/env.c Wed Aug 18 15:27:03 2010 ++++ 1.7/env.c Tue Sep 14 11:41:50 2010 +@@ -608,10 +608,16 @@ + #ifdef ENV_DEBUG + memset(env.envp, 0, env.env_size * sizeof(char *)); + #endif +- if (def_env_reset || ISSET(sudo_mode, MODE_LOGIN_SHELL)) { +- /* Reset HOME based on target user unless keeping old value. */ +- reset_home = TRUE; + ++ /* Reset HOME based on target user if configured to. */ ++ if (ISSET(sudo_mode, MODE_RUN)) { ++ if (def_always_set_home || ++ ISSET(sudo_mode, MODE_RESET_HOME | MODE_LOGIN_SHELL) || ++ (ISSET(sudo_mode, MODE_SHELL) && def_set_home)) ++ reset_home = TRUE; ++ } ++ ++ if (def_env_reset || ISSET(sudo_mode, MODE_LOGIN_SHELL)) { + /* Pull in vars we want to keep from the old environment. */ + for (ep = old_envp; *ep; ep++) { + int keepit; +@@ -696,6 +702,11 @@ + if (!ISSET(didvar, DID_USERNAME)) + sudo_setenv("USERNAME", user_name, FALSE); + } ++ ++ /* If we didn't keep HOME, reset it based on target user. */ ++ if (!ISSET(didvar, KEPT_HOME)) ++ reset_home = TRUE; ++ + /* + * Set MAIL to target user in -i mode or if MAIL is not preserved + * from user's environment. +@@ -709,13 +720,6 @@ + sudo_putenv(cp, ISSET(didvar, DID_MAIL), TRUE); + } + } else { +- /* Reset HOME based on target user if configured to. */ +- if (ISSET(sudo_mode, MODE_RUN)) { +- if (def_always_set_home || ISSET(sudo_mode, MODE_RESET_HOME) || +- (ISSET(sudo_mode, MODE_SHELL) && def_set_home)) +- reset_home = TRUE; +- } +- + /* + * Copy environ entries as long as they don't match env_delete or + * env_check. +@@ -765,7 +769,7 @@ + } + + /* Set $HOME to target user if not preserving user's value. */ +- if (reset_home && !ISSET(didvar, KEPT_HOME)) ++ if (reset_home) + sudo_setenv("HOME", runas_pw->pw_dir, TRUE); + + /* Provide default values for $TERM and $PATH if they are not set. */ ================================================================ ---- CVS-web: http://cvs.pld-linux.org/cgi-bin/cvsweb.cgi/packages/sudo/sudo.spec?r1=1.172&r2=1.173&f=u _______________________________________________ pld-cvs-commit mailing list [email protected] http://lists.pld-linux.org/mailman/listinfo/pld-cvs-commit
