Comparison

plugins/mod_saslauth.lua @ 13363:2738dda885bb

mod_saslauth: Allow plugins to override return SASL condition/text
author Matthew Wild <mwild1@gmail.com>
date Thu, 30 Nov 2023 11:22:40 +0000
parent 13290:c5767b7528ac
child 13381:b7dc45d704fa
comparison
equal deleted inserted replaced
13362:11e66ad894f0 13363:2738dda885bb
54 local function handle_status(session, status, ret, err_msg) 54 local function handle_status(session, status, ret, err_msg)
55 if not session.sasl_handler then 55 if not session.sasl_handler then
56 return "failure", "temporary-auth-failure", "Connection gone"; 56 return "failure", "temporary-auth-failure", "Connection gone";
57 end 57 end
58 if status == "failure" then 58 if status == "failure" then
59 module:fire_event("authentication-failure", { session = session, condition = ret, text = err_msg }); 59 local event = { session = session, condition = ret, text = err_msg };
60 module:fire_event("authentication-failure", event);
60 session.sasl_handler = session.sasl_handler:clean_clone(); 61 session.sasl_handler = session.sasl_handler:clean_clone();
62 ret, err_msg = event.condition, event.text;
61 elseif status == "success" then 63 elseif status == "success" then
62 local ok, err = sm_make_authenticated(session, session.sasl_handler.username, session.sasl_handler.role); 64 local ok, err = sm_make_authenticated(session, session.sasl_handler.username, session.sasl_handler.role);
63 if ok then 65 if ok then
64 session.sasl_resource = session.sasl_handler.resource; 66 session.sasl_resource = session.sasl_handler.resource;
65 module:fire_event("authentication-success", { session = session }); 67 module:fire_event("authentication-success", { session = session });