Call for testers.

Wayne Davison wayned at users.sourceforge.net
Sun Sep 16 05:48:00 EST 2001


On Fri, 14 Sep 2001 mouring at etoh.eviladmin.org wrote:
> I am starting this now because we are looking at a code freeze soon and I
> really want to ensure it compiles and runs on all existing platforms.

I've compiled the cvs version on Linux Mandrake 8.0 and Solaris x86 2.6
with some minor problems on Solaris.

Back in revision 1.133 of session.c, the conditional prototype for
do_pre_login() was removed.  This either needs to go back into the file,
or the do_pre_login() function needs to be moved up in session.c above
do_exec_pty().  Here's a patch for the former option:

Index: session.c
--- session.c	2001/09/15 02:25:54	1.146
+++ session.c	2001/09/15 19:18:00
@@ -129,6 +129,9 @@
 void	do_exec_no_pty(Session *, const char *);
 void	do_exec(Session *, const char *);
 void	do_login(Session *, const char *);
+#ifdef LOGIN_NEEDS_UTMPX
+static void do_pre_login(Session *s);
+#endif
 void	do_child(Session *, const char *);
 void	do_motd(void);
 int	check_quietlogin(Session *, const char *);

And, in revision 1.6 of sshlogin.h, the prototype for record_utmp_only()
was removed.  This either needs to be restored, or an extern prototype
for the function added to session.c inside the do_pre_login() function.
Here's a patch for the former choice:

Index: sshlogin.h
--- sshlogin.h	2001/07/04 04:46:58	1.6
+++ sshlogin.h	2001/09/15 19:31:44
@@ -17,6 +17,11 @@
 void
 record_login(pid_t, const char *, const char *, uid_t,
     const char *, struct sockaddr *);
+#ifdef LOGIN_NEEDS_UTMPX
+void
+record_utmp_only(pid_t, const char *, const char *,
+     const char *, struct sockaddr *);
+#endif
 void   record_logout(pid_t, const char *);
 u_long         get_last_login_time(uid_t, const char *, char *, u_int);

Also, the bugs I reported back on June 6 in the LOGIN_NEEDS_UTMPX
handling are still there.  The following patch combines the two patches
I sent back then (and resent together recently).  This only affects
UseLogin=yes on LOGIN_NEEDS_UTMPX systems (currently only Solaris, but I
think that the configure section for Unicos also needs to set this
define -- Wendy?).  This patch doesn't affect the normal (non-
LOGIN_NEEDS_UTMPX) processing at all, so it's quite safe.

Index: loginrec.c
--- loginrec.c	2001/08/06 23:29:17	1.34
+++ loginrec.c	2001/08/21 17:53:43
@@ -448,6 +448,8 @@
 login_utmp_only(struct logininfo *li)
 {
 	li->type = LTYPE_LOGIN;
+	/* set the timestamp */
+	login_set_current_time(li);
 # ifdef USE_UTMP
 	utmp_write_entry(li);
 # endif
@@ -456,9 +458,10 @@
 # endif
 # ifdef USE_UTMPX
 	utmpx_write_entry(li);
-# endif
-# ifdef USE_WTMPX
+# else
+#  ifdef USE_WTMPX
 	wtmpx_write_entry(li);
+#  endif
 # endif
 	return 0;
 }

..wayne..




More information about the openssh-unix-dev mailing list