File

mod_log_auth/mod_log_auth.lua @ 4300:3f3b672b7616

mod_vcard_muc: Pass room object around instead of JID, hopefully fixing traceback More efficient to pass the object around instead of using the JID and looking up the object when needed. It seems in some (undetermined) cases get_room_from_jid(room.jid) is nil.
author Matthew Wild <mwild1@gmail.com>
date Tue, 15 Dec 2020 10:49:11 +0000
parent 3941:6d1ec8099315
line wrap: on
line source

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'");

if mode == "failure" or mode == "all" then
	module:hook("authentication-failure", function (event)
		local session = event.session;
		local username = session.username or session.sasl_handler and session.sasl_handler.username or "?";
		session.log("info", "Failed authentication attempt (%s) for user %s@%s from IP: %s",
			event.condition or "unknown-condition", username, module.host,  session.ip or "?");
	end);
end

if mode == "success" or mode == "all" then
	module:hook("authentication-success", function (event)
		local session = event.session;
		session.log("info", "Successful authentication as %s@%s from IP: %s", session.username, module.host, session.ip or "?");
	end);
end