<Franz.Sirl-kernel@lauterbach.com>
- Prevent typedefs from being compiled more than once. Report from
Marc G. Fournier <marc.fournier@acadiau.ca>
+ - Fill in ut_utaddr utmp field. Report from Benjamin Charron
+ <iretd@bigfoot.com>
19991230
- OpenBSD CVS updates:
- Replace the horror in acconfig.h which tries to comphensate for the
lack of u_intXX_t types. There must be a better way.
+- Hanging on logout:
+
+localhost$ ssh remotehost
+remotehost$ sleep 20 &
+remotehost$ logout
+(ssh hangs at logout for 20 seconds)
+
+Worse:
+
+localhost$ ssh root@remotehost
+remotehost# httpd
+remotehost# logout
+(ssh hangs at logout forever)
+
/* Define is utmpx.h has a ut_host field */
#undef HAVE_HOST_IN_UTMPX
+/* Define is utmp.h has a ut_addr field */
+#undef HAVE_ADDR_IN_UTMP
+
+/* Define is utmpx.h has a ut_addr field */
+#undef HAVE_ADDR_IN_UTMPX
+
/* Define is utmpx.h has a syslen field */
#undef HAVE_SYSLEN_IN_UTMPX
[AC_DEFINE(HAVE_ID_IN_UTMP) AC_MSG_RESULT(yes); ],
[AC_MSG_RESULT(no)]
)
+AC_MSG_CHECKING([whether utmp.h has ut_addr field])
+AC_EGREP_HEADER(ut_addr, utmp.h,
+ [AC_DEFINE(HAVE_ADDR_IN_UTMP) AC_MSG_RESULT(yes); ],
+ [AC_MSG_RESULT(no)]
+)
+AC_MSG_CHECKING([whether utmpx.h has ut_addr field])
+AC_EGREP_HEADER(ut_addr, utmpx.h,
+ [AC_DEFINE(HAVE_ADDR_IN_UTMP) AC_MSG_RESULT(yes); ],
+ [AC_MSG_RESULT(no)]
+)
dnl Look for lastlog location
AC_ARG_WITH(lastlog,
#if defined(HAVE_HOST_IN_UTMP)
strncpy(u.ut_host, host, sizeof(u.ut_host));
#endif
+#if defined(HAVE_ADDR_IN_UTMP)
+ u.ut_addr = addr->sin_addr.s_addr;
+#endif
#if defined(HAVE_UTMPX_H) && defined(USE_UTMPX)
memset(&utx, 0, sizeof(utx));
strncpy(utx.ut_host, host, sizeof(utx.ut_host));
# endif /* HAVE_SYSLEN_IN_UTMPX */
# endif
+# if defined(HAVE_ADDR_IN_UTMPX)
+ utx.ut_addr = addr->sin_addr.s_addr;
+# endif
#endif /* defined(HAVE_UTMPX_H) && defined(USE_UTMPX) */
/*#if defined(HAVE_UTMPX_H) && defined(USE_UTMPX) && !defined(HAVE_LOGIN)*/