Mercurial > prosody-modules
view mod_log_auth/mod_log_auth.lua @ 5593:6d0574bfbf5d
mod_client_management: Include software version in table (when known)
Showing software versions could be useful for statistical reasons, e.g.
determining how quickly (or not) users upgrade, but most importantly for
revoking vulnerable clients versions in case of a security issue.
author | Kim Alvefur <zash@zash.se> |
---|---|
date | Thu, 13 Jul 2023 23:26:02 +0200 |
parents | 6d1ec8099315 |
children |
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