|
Lines 93-98
Link Here
|
| 93 |
snprintf(buf, sizeof(buf), "Last login: %s from %s\r\n", |
93 |
snprintf(buf, sizeof(buf), "Last login: %s from %s\r\n", |
| 94 |
time_string, hostname); |
94 |
time_string, hostname); |
| 95 |
buffer_append(&loginmsg, buf, strlen(buf)); |
95 |
buffer_append(&loginmsg, buf, strlen(buf)); |
|
|
96 |
if(options.use_login) |
| 97 |
printf("%s", (char *)buffer_ptr(&loginmsg)); |
| 98 |
|
| 96 |
} |
99 |
} |
| 97 |
#endif /* NO_SSH_LASTLOG */ |
100 |
#endif /* NO_SSH_LASTLOG */ |
| 98 |
} |
101 |
} |
|
Lines 118-128
Link Here
|
| 118 |
#ifdef LOGIN_NEEDS_UTMPX |
121 |
#ifdef LOGIN_NEEDS_UTMPX |
| 119 |
void |
122 |
void |
| 120 |
record_utmp_only(pid_t pid, const char *ttyname, const char *user, |
123 |
record_utmp_only(pid_t pid, const char *ttyname, const char *user, uid_t uid, |
| 121 |
const char *host, struct sockaddr * addr, socklen_t addrlen) |
124 |
const char *host, struct sockaddr * addr, socklen_t addrlen) |
| 122 |
{ |
125 |
{ |
| 123 |
struct logininfo *li; |
126 |
struct logininfo *li; |
|
|
127 |
/* save previous login details before writing new */ |
| 128 |
store_lastlog_message(user, uid); |
| 129 |
|
| 124 |
li = login_alloc_entry(pid, user, host, ttyname); |
130 |
li = login_alloc_entry(pid, user, host, ttyname); |
| 125 |
login_set_addr(li, addr, addrlen); |
131 |
login_set_addr(li, addr, addrlen); |
| 126 |
login_utmp_only(li); |
132 |
login_utmp_only(li); |