aboutsummaryrefslogtreecommitdiffstats
path: root/src/log-login-syslog.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/log-login-syslog.c')
-rw-r--r--src/log-login-syslog.c77
1 files changed, 38 insertions, 39 deletions
diff --git a/src/log-login-syslog.c b/src/log-login-syslog.c
index f855aed..f9fa75e 100644
--- a/src/log-login-syslog.c
+++ b/src/log-login-syslog.c
@@ -1,7 +1,7 @@
/**
* cerberus-logging – Log-in logging extension for cerberus
*
- * Copyright © 2014, 2015 Mattias Andrée (maandree@member.fsf.org)
+ * Copyright © 2014, 2015 Mattias Andrée (m@maandree.se)
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
@@ -21,44 +21,43 @@
#include <pwd.h>
-int do_log(void)
+int
+do_log(void)
{
- static char empty[] = "";
- struct passwd* pwd;
- const char* prefix;
- const char* affix;
- int status;
-
- 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);
+ static char empty[] = "";
+ struct passwd *pwd;
+ const char *prefix;
+ const char *affix;
+ int status;
- 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;
-}
+ if (!streq(action, "failed") && !streq(action, "login"))
+ return 0;
+
+ status = streq(action, "login");
+
+ pwd = getpwnam(username);
+ if (!pwd)
+ return -1;
+
+ openlog("log-login-syslog", LOG_ODELAY, LOG_AUTHPRIV);
+
+ 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;
+}