summaryrefslogtreecommitdiff
path: root/session.c
diff options
context:
space:
mode:
authorDamien Miller <djm@mindrot.org>2001-02-15 11:32:15 +1100
committerDamien Miller <djm@mindrot.org>2001-02-15 11:32:15 +1100
commite8b5b04521f33d868ac3301802e3dab1f57588fd (patch)
tree9dbf00ddf957dbae2955e055e3fc1da79a8f6efb /session.c
parent7fafa5ccbe332d3c3faabd75b3354f8d149e6d09 (diff)
- (djm) Move PAM session setup back to before setuid to user. Fixes
problems on Solaris-derived PAMs.
Diffstat (limited to 'session.c')
-rw-r--r--session.c9
1 files changed, 4 insertions, 5 deletions
diff --git a/session.c b/session.c
index a595a53c..1cdc91ef 100644
--- a/session.c
+++ b/session.c
@@ -1016,6 +1016,10 @@ do_child(const char *command, struct passwd * pw, const char *term,
#endif /* WITH_IRIX_ARRAY */
#endif /* WITH_IRIX_JOBS */
+#ifdef USE_PAM
+ do_pam_session(pw->pw_name, ttyname);
+ do_pam_setcred();
+#endif /* USE_PAM */
/* login(1) is only called if we execute the login shell */
if (options.use_login && command != NULL)
@@ -1129,11 +1133,6 @@ do_child(const char *command, struct passwd * pw, const char *term,
shell = login_getcapstr(lc, "shell", (char *)shell, (char *)shell);
#endif
-#ifdef USE_PAM
- do_pam_session(pw->pw_name, ttyname);
- do_pam_setcred();
-#endif /* USE_PAM */
-
#ifdef AFS
/* Try to get AFS tokens for the local cell. */
if (k_hasafs()) {