summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDamien Miller <djm@mindrot.org>2020-08-05 08:58:57 +1000
committerDamien Miller <djm@mindrot.org>2020-08-05 08:58:57 +1000
commitea1f649046546a860f68b97ddc3015b7e44346ca (patch)
tree59bd3a60c2f919cecb9eae4b1bda0adabbbe7aaa
parent32c63e75a70a0ed9d6887a55fcb0e4531a6ad617 (diff)
support NetBSD's utmpx.ut_ss address field
bz#960, ok dtucker
-rw-r--r--configure.ac1
-rw-r--r--loginrec.c3
2 files changed, 4 insertions, 0 deletions
diff --git a/configure.ac b/configure.ac
index 0a2eb0448..33a82814b 100644
--- a/configure.ac
+++ b/configure.ac
@@ -4207,6 +4207,7 @@ OSSH_CHECK_HEADER_FOR_FIELD([ut_exit], [utmp.h], [HAVE_EXIT_IN_UTMP])
4207OSSH_CHECK_HEADER_FOR_FIELD([ut_time], [utmp.h], [HAVE_TIME_IN_UTMP]) 4207OSSH_CHECK_HEADER_FOR_FIELD([ut_time], [utmp.h], [HAVE_TIME_IN_UTMP])
4208OSSH_CHECK_HEADER_FOR_FIELD([ut_time], [utmpx.h], [HAVE_TIME_IN_UTMPX]) 4208OSSH_CHECK_HEADER_FOR_FIELD([ut_time], [utmpx.h], [HAVE_TIME_IN_UTMPX])
4209OSSH_CHECK_HEADER_FOR_FIELD([ut_tv], [utmpx.h], [HAVE_TV_IN_UTMPX]) 4209OSSH_CHECK_HEADER_FOR_FIELD([ut_tv], [utmpx.h], [HAVE_TV_IN_UTMPX])
4210OSSH_CHECK_HEADER_FOR_FIELD([ut_ss], [utmpx.h], [HAVE_SS_IN_UTMPX])
4210 4211
4211AC_CHECK_MEMBERS([struct stat.st_blksize]) 4212AC_CHECK_MEMBERS([struct stat.st_blksize])
4212AC_CHECK_MEMBERS([struct stat.st_mtim]) 4213AC_CHECK_MEMBERS([struct stat.st_mtim])
diff --git a/loginrec.c b/loginrec.c
index e5289deb8..ea058fd6f 100644
--- a/loginrec.c
+++ b/loginrec.c
@@ -778,6 +778,9 @@ construct_utmpx(struct logininfo *li, struct utmpx *utx)
778 strncpy(utx->ut_host, li->hostname, 778 strncpy(utx->ut_host, li->hostname,
779 MIN_SIZEOF(utx->ut_host, li->hostname)); 779 MIN_SIZEOF(utx->ut_host, li->hostname));
780# endif 780# endif
781# ifdef HAVE_SS_IN_UTMPX
782 utx->ut_ss = li->hostaddr.sa_storage;
783# endif
781# ifdef HAVE_ADDR_IN_UTMPX 784# ifdef HAVE_ADDR_IN_UTMPX
782 /* this is just a 32-bit IP address */ 785 /* this is just a 32-bit IP address */
783 if (li->hostaddr.sa.sa_family == AF_INET) 786 if (li->hostaddr.sa.sa_family == AF_INET)