[sudo/f13/master] - added patch for #635250
Daniel Kopeček
mildew at fedoraproject.org
Mon Sep 20 06:44:30 UTC 2010
commit 05a2f9fc075786732605a41d32de947003f4b36c
Author: Daniel Kopecek <dkopecek at redhat.com>
Date: Mon Sep 20 08:44:27 2010 +0200
- added patch for #635250
sudo-1.7.4p4-sudoi.patch | 57 ++++++++++++++++++++++++++++++++++++++++++++++
sudo.spec | 8 +++++-
2 files changed, 64 insertions(+), 1 deletions(-)
---
diff --git a/sudo-1.7.4p4-sudoi.patch b/sudo-1.7.4p4-sudoi.patch
new file mode 100644
index 0000000..52b8d85
--- /dev/null
+++ b/sudo-1.7.4p4-sudoi.patch
@@ -0,0 +1,57 @@
+--- env.c Wed Aug 18 15:27:03 2010
++++ 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. */
diff --git a/sudo.spec b/sudo.spec
index 9cda7b2..fc54c51 100644
--- a/sudo.spec
+++ b/sudo.spec
@@ -1,7 +1,7 @@
Summary: Allows restricted root access for specified users
Name: sudo
Version: 1.7.4p4
-Release: 1%{?dist}
+Release: 2%{?dist}
License: ISC
Group: Applications/System
URL: http://www.courtesan.com/sudo/
@@ -30,6 +30,8 @@ Patch3: sudo-1.7.4p3-m4path.patch
Patch4: sudo-1.7.4p3-sudolist.patch
# getgrouplist() to determine group membership (#235915)
Patch5: sudo-1.7.4p4-getgrouplist.patch
+# reset HOME when using the `-i' option (#635250)
+Patch6: sudo-1.7.4p4-sudoi.patch
%description
Sudo (superuser do) allows a system administrator to give certain
@@ -50,6 +52,7 @@ on many different machines.
%patch3 -p1 -b .m4path
%patch4 -p1 -b .sudolist
%patch5 -p1 -b .getgrouplist
+%patch6 -p0 -b .sudoi
%build
# handle newer autoconf
@@ -144,6 +147,9 @@ rm -rf $RPM_BUILD_ROOT
/bin/chmod 0440 /etc/sudoers || :
%changelog
+* Mon Sep 20 2010 Daniel Kopecek <dkopecek at redhat.com> - 1.7.4p4-2
+- added patch for #635250
+
* Wed Sep 8 2010 Daniel Kopecek <dkopecek at redhat.com> - 1.7.4p4-1
- update to new upstream version
- sudo now uses /var/db/sudo for timestamps
More information about the scm-commits
mailing list