2
0
mirror of https://github.com/sudo-project/sudo.git synced 2025-09-02 15:25:58 +00:00

Take MODE_LOGIN_SHELL into account when initially setting reset_home

instead of special-casing it later.
This commit is contained in:
Todd C. Miller
2010-09-14 11:44:33 -04:00
parent 53f9cfe062
commit ed45e68da9

View File

@@ -432,7 +432,8 @@ rebuild_env(int noexec)
/* Reset HOME based on target user if configured to. */ /* Reset HOME based on target user if configured to. */
if (ISSET(sudo_mode, MODE_RUN)) { if (ISSET(sudo_mode, MODE_RUN)) {
if (def_always_set_home || ISSET(sudo_mode, MODE_RESET_HOME) || if (def_always_set_home ||
ISSET(sudo_mode, MODE_RESET_HOME | MODE_LOGIN_SHELL) ||
(ISSET(sudo_mode, MODE_SHELL) && def_set_home)) (ISSET(sudo_mode, MODE_SHELL) && def_set_home))
reset_home = TRUE; reset_home = TRUE;
} }
@@ -523,8 +524,8 @@ rebuild_env(int noexec)
sudo_setenv("USERNAME", user_name, FALSE); sudo_setenv("USERNAME", user_name, FALSE);
} }
/* If not a login shell and it wasn't kept above, reset HOME. */ /* If we didn't keep HOME, reset it based on target user. */
if (ISSET(sudo_mode, MODE_LOGIN_SHELL) || !ISSET(didvar, KEPT_HOME)) if (!ISSET(didvar, KEPT_HOME))
reset_home = TRUE; reset_home = TRUE;
/* /*