From c004135b72ff934c2576f8dec4d35d53019bf239 Mon Sep 17 00:00:00 2001
From: Ben Lindstrom <mouring@eviladmin.org>
Date: Mon, 25 Feb 2002 15:48:02 +0000
Subject: [PATCH]  - (bal) Last AIX patch.  Moved aix_usrinfo() outside of
 do_setuserconext()    since we need more session information than provided by
 that function.

---
 ChangeLog                 | 6 +++++-
 openbsd-compat/port-aix.h | 2 +-
 session.c                 | 6 +++---
 3 files changed, 9 insertions(+), 5 deletions(-)

diff --git a/ChangeLog b/ChangeLog
index b0d93894e..54cea031d 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,7 @@
+20020225
+ - (bal) Last AIX patch.  Moved aix_usrinfo() outside of do_setuserconext()
+   since we need more session information than provided by that function.
+
 20020224
  - (bal) Drop Session *s usage in ports-aix.[ch] and pass just what we
    need to do the jobs (AIX still does not fully compile, but that is
@@ -7666,4 +7670,4 @@
  - Wrote replacements for strlcpy and mkdtemp
  - Released 1.0pre1
 
-$Id: ChangeLog,v 1.1873 2002/02/25 01:56:46 tim Exp $
+$Id: ChangeLog,v 1.1874 2002/02/25 15:48:02 mouring Exp $
diff --git a/openbsd-compat/port-aix.h b/openbsd-compat/port-aix.h
index b5647e7ab..29d2ee630 100644
--- a/openbsd-compat/port-aix.h
+++ b/openbsd-compat/port-aix.h
@@ -5,6 +5,6 @@ void set_limit(char *user, char *soft, char *hard, int resource, int mult);
 void set_limits_from_userattr(char *user);
 #endif /* HAVE_GETUSERATTR */
 
-void aix_usrinfo(struct passwd *pw, char *tty, int ttyfd)
+void aix_usrinfo(struct passwd *pw, char *tty, int ttyfd);
 
 #endif /* _AIX */
diff --git a/session.c b/session.c
index bf1a3ecf7..a31ff85d8 100644
--- a/session.c
+++ b/session.c
@@ -1146,9 +1146,6 @@ do_setusercontext(struct passwd *pw)
 # if defined(WITH_IRIX_PROJECT) || defined(WITH_IRIX_JOBS) || defined(WITH_IRIX_ARRAY)
 		irix_setusercontext(pw);
 #  endif /* defined(WITH_IRIX_PROJECT) || defined(WITH_IRIX_JOBS) || defined(WITH_IRIX_ARRAY) */
-#ifdef _AIX
-		aix_usrinfo(s)
-#endif
 		/* Permanently switch to the desired uid. */
 		permanently_set_uid(pw);
 #endif
@@ -1190,6 +1187,9 @@ do_child(Session *s, const char *command)
 			do_motd();
 #else /* HAVE_OSF_SIA */
 		do_nologin(pw);
+# ifdef _AIX
+		aix_usrinfo(pw, s->tty, s->ttyfd);
+# endif /* _AIX */
 		do_setusercontext(pw);
 #endif /* HAVE_OSF_SIA */
 	}