summaryrefslogtreecommitdiffstats
path: root/crypto/openssh/sshlogin.c
diff options
context:
space:
mode:
Diffstat (limited to 'crypto/openssh/sshlogin.c')
-rw-r--r--crypto/openssh/sshlogin.c10
1 files changed, 9 insertions, 1 deletions
diff --git a/crypto/openssh/sshlogin.c b/crypto/openssh/sshlogin.c
index cc35d60..33bd652 100644
--- a/crypto/openssh/sshlogin.c
+++ b/crypto/openssh/sshlogin.c
@@ -86,13 +86,20 @@ get_last_login_time(uid_t uid, const char *logname,
static void
store_lastlog_message(const char *user, uid_t uid)
{
+#ifndef NO_SSH_LASTLOG
char *time_string, hostname[MAXHOSTNAMELEN] = "", buf[512];
time_t last_login_time;
-#ifndef NO_SSH_LASTLOG
if (!options.print_lastlog)
return;
+# ifdef CUSTOM_SYS_AUTH_GET_LASTLOGIN_MSG
+ time_string = sys_auth_get_lastlogin_msg(user, uid);
+ if (time_string != NULL) {
+ buffer_append(&loginmsg, time_string, strlen(time_string));
+ xfree(time_string);
+ }
+# else
last_login_time = get_last_login_time(uid, user, hostname,
sizeof(hostname));
@@ -107,6 +114,7 @@ store_lastlog_message(const char *user, uid_t uid)
time_string, hostname);
buffer_append(&loginmsg, buf, strlen(buf));
}
+# endif /* CUSTOM_SYS_AUTH_GET_LASTLOGIN_MSG */
#endif /* NO_SSH_LASTLOG */
}
OpenPOWER on IntegriCloud