diff mod_log_auth/mod_log_auth.lua @ 1427:322a076f53e8

mod_log_auth: Add ability to log IPs of successful authentications too
author Matthew Wild <mwild1@gmail.com>
date Sat, 31 May 2014 13:38:35 +0100
parents 608d9019b0de
children 9d43095d915f
line wrap: on
line diff
--- a/mod_log_auth/mod_log_auth.lua	Fri May 30 19:07:18 2014 -0400
+++ b/mod_log_auth/mod_log_auth.lua	Sat May 31 13:38:35 2014 +0100
@@ -1,4 +1,15 @@
+local mode = module:get_option_string("log_auth_ips", "failure");
+assert(({ all = true, failure = true, success = true })[mode], "Unknown log mode: "..tostring(mode).." - valid modes are 'all', 'failure', 'success'");
 
-module:hook("authentication-failure", function (event)
-	module:log("info", "Failed authentication attempt (%s) from IP: %s", event.condition or "unknown-condition", event.session.ip or "?");
-end);
+if mode == "failure" or mode == "all" then
+	module:hook("authentication-failure", function (event)
+		module:log("info", "Failed authentication attempt (%s) from IP: %s", event.condition or "unknown-condition", event.session.ip or "?");
+	end);
+end
+
+if mode == "success" or mode == "all" then
+	module:hook("authentication-success", function (event)
+		local session = event.session;
+		module:log("info", "Successful authentication as %s from IP: %s", session.username, session.ip or "?");
+	end);
+end