- (stevesk) session.c: back out to where we were before:
    - (djm) Move PAM session initialisation until after fork in sshd. Patch
      from Nalin Dahyabhai <nalin@redhat.com>
diff --git a/ChangeLog b/ChangeLog
index a28670f..f1bf225 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -6,6 +6,9 @@
    breaks Solaris.
 	- (djm) Move PAM session setup back to before setuid to user.
 	  fixes problems on Solaris-drived PAMs.
+ - (stevesk) session.c: back out to where we were before:
+    - (djm) Move PAM session initialisation until after fork in sshd. Patch 
+      from Nalin Dahyabhai <nalin@redhat.com>
 
 20010220
  - (bal) Fix mixed up params to memmove() from Jan 5th in setenv.c and
@@ -4087,4 +4090,4 @@
  - Wrote replacements for strlcpy and mkdtemp
  - Released 1.0pre1
 
-$Id: ChangeLog,v 1.808 2001/02/21 05:53:33 mouring Exp $
+$Id: ChangeLog,v 1.809 2001/02/21 16:36:51 stevesk Exp $
diff --git a/session.c b/session.c
index de8127f..d771edb 100644
--- a/session.c
+++ b/session.c
@@ -481,6 +481,10 @@
 
 	session_proctitle(s);
 
+#ifdef USE_PAM
+	do_pam_setcred();
+#endif /* USE_PAM */
+
 	/* Fork the child. */
 	if ((pid = fork()) == 0) {
 		/* Child.  Reinitialize the log since the pid has changed. */
@@ -593,6 +597,11 @@
 	ptyfd = s->ptyfd;
 	ttyfd = s->ttyfd;
 
+#ifdef USE_PAM
+	do_pam_session(pw->pw_name, s->tty);
+	do_pam_setcred();
+#endif /* USE_PAM */
+
 	/* Fork the child. */
 	if ((pid = fork()) == 0) {
 		/* Child.  Reinitialize the log because the pid has changed. */
@@ -1143,11 +1152,6 @@
 	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()) {