diff options
| author | Peter Wemm <peter@FreeBSD.org> | 2002-11-15 22:42:00 +0000 |
|---|---|---|
| committer | Peter Wemm <peter@FreeBSD.org> | 2002-11-15 22:42:00 +0000 |
| commit | 6ceeb6902a155dfa35c39a3d360736584fbefb7f (patch) | |
| tree | 414badc6420598c8e62302e330f16ee827afd3eb /lib/libpam | |
| parent | cdf5e9ccb6eb735c178354b575d894b0580ee560 (diff) | |
Notes
Diffstat (limited to 'lib/libpam')
| -rw-r--r-- | lib/libpam/modules/pam_lastlog/pam_lastlog.c | 10 |
1 files changed, 6 insertions, 4 deletions
diff --git a/lib/libpam/modules/pam_lastlog/pam_lastlog.c b/lib/libpam/modules/pam_lastlog/pam_lastlog.c index f33d0a6cfd741..66f61d3a3b264 100644 --- a/lib/libpam/modules/pam_lastlog/pam_lastlog.c +++ b/lib/libpam/modules/pam_lastlog/pam_lastlog.c @@ -71,6 +71,7 @@ pam_sm_open_session(pam_handle_t *pamh, int flags, struct passwd *pwd; struct utmp utmp; struct lastlog ll; + time_t t; const char *rhost, *user, *tty; off_t llpos; int fd, pam_err; @@ -109,13 +110,14 @@ pam_sm_open_session(pam_handle_t *pamh, int flags, goto file_err; if ((flags & PAM_SILENT) == 0) { if (read(fd, &ll, sizeof ll) == sizeof ll && ll.ll_time != 0) { + t = ll.ll_time; if (*ll.ll_host != '\0') pam_info(pamh, "Last login: %.*s from %.*s", - 24 - 5, ctime(&ll.ll_time), + 24 - 5, ctime(&t), (int)sizeof(ll.ll_host), ll.ll_host); else pam_info(pamh, "Last login: %.*s on %.*s", - 24 - 5, ctime(&ll.ll_time), + 24 - 5, ctime(&t), (int)sizeof(ll.ll_line), ll.ll_line); } if (lseek(fd, llpos, L_SET) != llpos) @@ -123,7 +125,7 @@ pam_sm_open_session(pam_handle_t *pamh, int flags, } bzero(&ll, sizeof(ll)); - time(&ll.ll_time); + ll.ll_time = time(NULL); /* note: does not need to be NUL-terminated */ strncpy(ll.ll_line, tty, sizeof(ll.ll_line)); @@ -140,7 +142,7 @@ pam_sm_open_session(pam_handle_t *pamh, int flags, * Record session in utmp(5) and wtmp(5). */ bzero(&utmp, sizeof(utmp)); - time(&utmp.ut_time); + utmp.ut_time = time(NULL); /* note: does not need to be NUL-terminated */ strncpy(utmp.ut_name, user, sizeof(utmp.ut_name)); if (rhost != NULL) |
