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) |
