diff options
Diffstat (limited to 'src')
| -rw-r--r-- | src/log-login-audit.c | 2 | ||||
| -rw-r--r-- | src/log-login-syslog.c | 35 | ||||
| -rwxr-xr-x | src/logging | 3 |
3 files changed, 27 insertions, 13 deletions
diff --git a/src/log-login-audit.c b/src/log-login-audit.c index 2ddda77..67eae3f 100644 --- a/src/log-login-audit.c +++ b/src/log-login-audit.c @@ -28,7 +28,7 @@ int do_log(void) if ((!streq(action, "failed")) && (!streq(action, "login"))) return 0; - + status = streq(action, "login"); if (pwd = getpwnam(username), pwd == NULL) return -1; 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; diff --git a/src/logging b/src/logging index c1ca78e..63287d5 100755 --- a/src/logging +++ b/src/logging @@ -104,12 +104,13 @@ log_denied () { try log-login-btmp "$@" try log-login-audit "$@" + try log-login-syslog "$@" } # Figure out the actionname action="${hook}" if [ "${hook}" = denied ]; then - action=fail + action=failed fi # Preprend options to values |
