From 1e2281b8356d1935a129ddb199d71677f19a1619 Mon Sep 17 00:00:00 2001 From: Rich Felker Date: Thu, 27 Jun 2013 20:00:29 -0400 Subject: [PATCH] minor compatibility fixes in utmp.h and fixing mismatch with paths.h the pathnames prefixed with /dev/null/ are guaranteed never to be valid. the previous use of /dev/null alone was mildly dangerous in that bad software might attempt to unlink the name when it found a non-regular file there and create a new file. --- include/paths.h | 4 ++-- include/utmp.h | 10 ++++++++-- 2 files changed, 10 insertions(+), 4 deletions(-) diff --git a/include/paths.h b/include/paths.h index d0a5a6d6..e0d1fff1 100644 --- a/include/paths.h +++ b/include/paths.h @@ -27,9 +27,9 @@ #define _PATH_SHELLS "/etc/shells" #define _PATH_TTY "/dev/tty" #define _PATH_UNIX "/boot/vmlinux" -#define _PATH_UTMP "/var/run/utmp" +#define _PATH_UTMP "/dev/null/utmp" #define _PATH_VI "/usr/bin/vi" -#define _PATH_WTMP "/var/log/wtmp" +#define _PATH_WTMP "/dev/null/wtmp" #define _PATH_LASTLOG "/var/log/lastlog" #define _PATH_DEV "/dev/" diff --git a/include/utmp.h b/include/utmp.h index c24d0a8d..b357ac8c 100644 --- a/include/utmp.h +++ b/include/utmp.h @@ -19,6 +19,7 @@ struct lastlog { #define ut_time ut_tv.tv_sec #define ut_name ut_user +#define ut_addr ut_addr_v6[0] #define utmp utmpx #define utmpname(x) (-1) @@ -31,8 +32,13 @@ void setutent(void); void updwtmp(const char *, const struct utmp *); -#define _PATH_UTMP "/dev/null" -#define _PATH_WTMP "/dev/null" +#define _PATH_UTMP "/dev/null/utmp" +#define _PATH_WTMP "/dev/null/wtmp" + +#define UTMP_FILE _PATH_UTMP +#define WTMP_FILE _PATH_WTMP +#define UTMP_FILENAME _PATH_UTMP +#define WTMP_FILENAME _PATH_WTMP #ifdef __cplusplus } -- 2.25.1