diff options
-rw-r--r-- | loginutils/login.c | 11 |
1 files changed, 11 insertions, 0 deletions
diff --git a/loginutils/login.c b/loginutils/login.c index 9a624df9a..c285b45a1 100644 --- a/loginutils/login.c +++ b/loginutils/login.c | |||
@@ -217,6 +217,7 @@ int login_main(int argc UNUSED_PARAM, char **argv) | |||
217 | const char *failed_msg; | 217 | const char *failed_msg; |
218 | struct passwd pwdstruct; | 218 | struct passwd pwdstruct; |
219 | char pwdbuf[256]; | 219 | char pwdbuf[256]; |
220 | char **pamenv; | ||
220 | #endif | 221 | #endif |
221 | 222 | ||
222 | username[0] = '\0'; | 223 | username[0] = '\0'; |
@@ -400,6 +401,16 @@ int login_main(int argc UNUSED_PARAM, char **argv) | |||
400 | (!(opt & LOGIN_OPT_p) * SETUP_ENV_CLEARENV) + SETUP_ENV_CHANGEENV, | 401 | (!(opt & LOGIN_OPT_p) * SETUP_ENV_CLEARENV) + SETUP_ENV_CHANGEENV, |
401 | pw); | 402 | pw); |
402 | 403 | ||
404 | #if ENABLE_PAM | ||
405 | /* Modules such as pam_env will setup the PAM environment, | ||
406 | * which should be copied into the new environment. */ | ||
407 | pamenv = pam_getenvlist(pamh); | ||
408 | if (pamenv) while (*pamenv) { | ||
409 | putenv(*pamenv); | ||
410 | pamenv++; | ||
411 | } | ||
412 | #endif | ||
413 | |||
403 | motd(); | 414 | motd(); |
404 | 415 | ||
405 | if (pw->pw_uid == 0) | 416 | if (pw->pw_uid == 0) |