diff --git a/acconfig.h b/acconfig.h index 35d4fb4bb..bbb992816 100644 --- a/acconfig.h +++ b/acconfig.h @@ -27,6 +27,9 @@ /* Define is utmpx.h has a ut_host field */ #undef HAVE_HOST_IN_UTMPX +/* Define if you want to use utmpx */ +#undef USE_UTMPX + /* Define is libutil has login() function */ #undef HAVE_LIBUTIL_LOGIN @@ -91,7 +94,7 @@ # include /* For _PATH_XXX */ #endif -#ifdef HAVE_UTMPX_H +#if defined(HAVE_UTMPX_H) && defined(USE_UTMPX) # include /* For _PATH_XXX */ #endif @@ -183,7 +186,7 @@ enum #endif /* Use utmpx if supported */ -#ifdef HAVE_UTMPX_H +#if defined(HAVE_UTMPX_H) && defined(USE_UTMPX) # define UTMP_STR utmpx #else # ifdef HAVE_UTMP_H @@ -192,7 +195,7 @@ enum #endif #ifndef _PATH_UTMP -# ifdef UTMPX_FILE +# if defined(UTMPX_FILE) && defined(USE_UTMPX) # define _PATH_UTMP UTMPX_FILE # else # ifdef UTMP_FILE @@ -204,7 +207,7 @@ enum #endif #ifndef _PATH_WTMP -# ifdef WTMPX_FILE +# if defined(WTMPX_FILE) && defined(USE_UTMPX) # define _PATH_WTMP WTMPX_FILE # else # ifdef WTMP_FILE diff --git a/bsd-login.c b/bsd-login.c index a2ec74142..c0f4c1ab0 100644 --- a/bsd-login.c +++ b/bsd-login.c @@ -45,7 +45,7 @@ static char *rcsid = "$OpenBSD: login.c,v 1.5 1998/07/13 02:11:12 millert Exp $" #include #include #include -#ifdef HAVE_UTMPX_H +#if defined(HAVE_UTMPX_H) && defined(USE_UTMPX) # include #endif #ifdef HAVE_UTMP_H @@ -64,7 +64,7 @@ login(utp) #ifndef UT_LINESIZE # define UT_LINESIZE (sizeof(old_ut.ut_line)) -# ifdef HAVE_UTMPX_H +# if defined(HAVE_UTMPX_H) && defined(USE_UTMPX) # define UT_NAMESIZE (sizeof(old_ut.ut_user)) # else # define UT_NAMESIZE (sizeof(old_ut.ut_name)) @@ -72,7 +72,7 @@ login(utp) # ifdef HAVE_HOST_IN_UTMP # define UT_HOSTSIZE (sizeof(old_ut.ut_host)) # endif -# ifdef HAVE_HOST_IN_UTMPX +# if defined(HAVE_HOST_IN_UTMPX) && defined(USE_UTMPX) # define UT_HOSTSIZE (sizeof(old_ut.ut_host)) # endif #endif diff --git a/configure.in b/configure.in index 19372e2d5..86d6a3241 100644 --- a/configure.in +++ b/configure.in @@ -290,6 +290,12 @@ AC_ARG_WITH(md5-passwords, [AC_DEFINE(HAVE_MD5_PASSWORDS)] ) +dnl Check whether to enable utmpx support +AC_ARG_WITH(utmpx, + [ --with-utmpx Enable utmpx support], + [AC_DEFINE(USE_UTMPX)] +) + dnl Check for the path to xauth AC_PATH_PROG(xauth_path, xauth) AC_DEFINE_UNQUOTED(XAUTH_PATH, "$xauth_path") diff --git a/login.c b/login.c index ff4184572..e506d24ee 100644 --- a/login.c +++ b/login.c @@ -18,9 +18,9 @@ */ #include "includes.h" -RCSID("$Id: login.c,v 1.6 1999/12/08 23:16:55 damien Exp $"); +RCSID("$Id: login.c,v 1.7 1999/12/20 22:51:36 damien Exp $"); -#ifdef HAVE_UTMPX_H +#if defined(HAVE_UTMPX_H) && defined(USE_UTMPX) # include #endif #ifdef HAVE_UTMP_H @@ -94,7 +94,7 @@ record_login(int pid, const char *ttyname, const char *user, uid_t uid, /* Construct an utmp/wtmp entry. */ memset(&u, 0, sizeof(u)); strncpy(u.ut_line, ttyname + 5, sizeof(u.ut_line)); -#ifdef HAVE_UTMPX_H +#if defined(HAVE_UTMPX_H) && defined(USE_UTMPX) u.ut_tv.tv_sec = time(NULL); strncpy(u.ut_user, user, sizeof(u.ut_name)); #else