aboutsummaryrefslogtreecommitdiffstats
path: root/src/log-login-syslog.c
diff options
context:
space:
mode:
authorMattias Andrée <maandree@operamail.com>2014-10-30 12:52:12 +0100
committerMattias Andrée <maandree@operamail.com>2014-10-30 12:52:12 +0100
commitcdc00a3b731673880b40e11d3635983d4163c109 (patch)
tree373f5f267489f134e134803a7c285fd697a911ec /src/log-login-syslog.c
parentadd manual (diff)
downloadcerberus-logging-78ef53b8a838efb0fb0196d4b08bfde32f85ad39.tar.gz
cerberus-logging-78ef53b8a838efb0fb0196d4b08bfde32f85ad39.tar.bz2
cerberus-logging-78ef53b8a838efb0fb0196d4b08bfde32f85ad39.tar.xz
typo + whitespace + log failed login attempts with syslog1414669981
Signed-off-by: Mattias Andrée <maandree@operamail.com>
Diffstat (limited to 'src/log-login-syslog.c')
-rw-r--r--src/log-login-syslog.c35
1 files changed, 24 insertions, 11 deletions
diff --git a/src/log-login-syslog.c b/src/log-login-syslog.c
index c89c629..1c8567b 100644
--- a/src/log-login-syslog.c
+++ b/src/log-login-syslog.c
@@ -27,23 +27,36 @@ int do_log(void)
struct passwd* pwd;
const char* prefix;
const char* affix;
+ int status;
- if (!streq(action, "login"))
+ if ((!streq(action, "failed")) && (!streq(action, "login")))
return 0;
+ status = streq(action, "login");
+
if (pwd = getpwnam(username), pwd == NULL) return -1;
openlog("log-login-syslog", LOG_ODELAY, LOG_AUTHPRIV);
-
- if (strstr(ttyname, "ttyS") == ttyname)
- syslog(LOG_INFO, "DIALUP AT %s BY %s", ttyname, username);
-
- prefix = pwd->pw_uid ? "" : "ROOT ";
- affix = hostname ? " FROM " : "";
- hostname = hostname ? hostname : empty;
-
- syslog(pwd->pw_uid ? LOG_INFO : LOG_NOTICE, "%sLOGIN ON %s BY %s%s%s",
- prefix, ttyname, username, affix, hostname);
+
+ if (status)
+ {
+ if (strstr(ttyname, "ttyS") == ttyname)
+ syslog(LOG_INFO, "DIALUP AT %s BY %s", ttyname, username);
+
+ prefix = pwd->pw_uid ? "" : "ROOT ";
+ affix = hostname ? " FROM " : "";
+ hostname = hostname ? hostname : empty;
+
+ syslog(pwd->pw_uid ? LOG_INFO : LOG_NOTICE, "%sLOGIN ON %s BY %s%s%s",
+ prefix, ttyname, username, affix, hostname);
+ }
+ else
+ {
+ affix = hostname ? " FROM " : "";
+
+ syslog(LOG_NOTICE, "FAILED LOGIN SESSION%s%s FOR %s ON %s",
+ affix, hostname, username, ttyname);
+ }
closelog();
return 0;