diff options
Diffstat (limited to 'session.c')
-rw-r--r-- | session.c | 14 |
1 files changed, 5 insertions, 9 deletions
@@ -484,10 +484,6 @@ do_exec_no_pty(Session *s, const char *command, struct passwd * pw) | |||
484 | 484 | ||
485 | session_proctitle(s); | 485 | session_proctitle(s); |
486 | 486 | ||
487 | #ifdef USE_PAM | ||
488 | do_pam_setcred(); | ||
489 | #endif /* USE_PAM */ | ||
490 | |||
491 | /* Fork the child. */ | 487 | /* Fork the child. */ |
492 | if ((pid = fork()) == 0) { | 488 | if ((pid = fork()) == 0) { |
493 | /* Child. Reinitialize the log since the pid has changed. */ | 489 | /* Child. Reinitialize the log since the pid has changed. */ |
@@ -600,11 +596,6 @@ do_exec_pty(Session *s, const char *command, struct passwd * pw) | |||
600 | ptyfd = s->ptyfd; | 596 | ptyfd = s->ptyfd; |
601 | ttyfd = s->ttyfd; | 597 | ttyfd = s->ttyfd; |
602 | 598 | ||
603 | #ifdef USE_PAM | ||
604 | do_pam_session(pw->pw_name, s->tty); | ||
605 | do_pam_setcred(); | ||
606 | #endif /* USE_PAM */ | ||
607 | |||
608 | /* Fork the child. */ | 599 | /* Fork the child. */ |
609 | if ((pid = fork()) == 0) { | 600 | if ((pid = fork()) == 0) { |
610 | /* Child. Reinitialize the log because the pid has changed. */ | 601 | /* Child. Reinitialize the log because the pid has changed. */ |
@@ -1156,6 +1147,11 @@ do_child(const char *command, struct passwd * pw, const char *term, | |||
1156 | shell = login_getcapstr(lc, "shell", (char *)shell, (char *)shell); | 1147 | shell = login_getcapstr(lc, "shell", (char *)shell, (char *)shell); |
1157 | #endif | 1148 | #endif |
1158 | 1149 | ||
1150 | #ifdef USE_PAM | ||
1151 | do_pam_session(pw->pw_name, ttyname); | ||
1152 | do_pam_setcred(); | ||
1153 | #endif /* USE_PAM */ | ||
1154 | |||
1159 | #ifdef AFS | 1155 | #ifdef AFS |
1160 | /* Try to get AFS tokens for the local cell. */ | 1156 | /* Try to get AFS tokens for the local cell. */ |
1161 | if (k_hasafs()) { | 1157 | if (k_hasafs()) { |