提交 1e2281b8 编写于 作者: R Rich Felker

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.
上级 3cd6f522
...@@ -27,9 +27,9 @@ ...@@ -27,9 +27,9 @@
#define _PATH_SHELLS "/etc/shells" #define _PATH_SHELLS "/etc/shells"
#define _PATH_TTY "/dev/tty" #define _PATH_TTY "/dev/tty"
#define _PATH_UNIX "/boot/vmlinux" #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_VI "/usr/bin/vi"
#define _PATH_WTMP "/var/log/wtmp" #define _PATH_WTMP "/dev/null/wtmp"
#define _PATH_LASTLOG "/var/log/lastlog" #define _PATH_LASTLOG "/var/log/lastlog"
#define _PATH_DEV "/dev/" #define _PATH_DEV "/dev/"
......
...@@ -19,6 +19,7 @@ struct lastlog { ...@@ -19,6 +19,7 @@ struct lastlog {
#define ut_time ut_tv.tv_sec #define ut_time ut_tv.tv_sec
#define ut_name ut_user #define ut_name ut_user
#define ut_addr ut_addr_v6[0]
#define utmp utmpx #define utmp utmpx
#define utmpname(x) (-1) #define utmpname(x) (-1)
...@@ -31,8 +32,13 @@ void setutent(void); ...@@ -31,8 +32,13 @@ void setutent(void);
void updwtmp(const char *, const struct utmp *); void updwtmp(const char *, const struct utmp *);
#define _PATH_UTMP "/dev/null" #define _PATH_UTMP "/dev/null/utmp"
#define _PATH_WTMP "/dev/null" #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 #ifdef __cplusplus
} }
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册