--- /dev/null
+--- 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. */
-# 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)
Summary(uk.UTF-8): Дозволяє вказаним користувачам виконувати команди від імені root
Name: sudo
Version: 1.7.4p4
-Release: 1
+Release: 2
Epoch: 1
License: BSD
Group: Applications/System
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
%patch0 -p1
%patch1 -p1
+%patch2 -p1
%build
%{__mv} install-sh install-custom-sh