Mercurial > prosody-hg
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 |
| parents | c5767b7528ac |
| children | 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 }); |
