Software /
code /
prosody-modules
Diff
mod_sasl2_fast/mod_sasl2_fast.lua @ 5076:eb46abc65dfd
mod_sasl2_fast: Improved logging
author | Matthew Wild <mwild1@gmail.com> |
---|---|
date | Sat, 15 Oct 2022 19:49:13 +0100 |
parent | 5075:ba2f1292d5fe |
child | 5077:e900bbd2e70d |
line wrap: on
line diff
--- a/mod_sasl2_fast/mod_sasl2_fast.lua Sat Oct 15 19:47:05 2022 +0100 +++ b/mod_sasl2_fast/mod_sasl2_fast.lua Sat Oct 15 19:49:13 2022 +0100 @@ -13,6 +13,8 @@ local token_store = module:open_store("fast_tokens", "map"); +local log = module._log; + local function make_token(username, client_id, mechanism) local new_token = "secret-token:fast-"..id.long(); local key = hash.sha256(client_id, true).."-new"; @@ -35,6 +37,7 @@ local key = hash.sha256(client_id, true).."-new"; local token; repeat + log("debug", "Looking for %s token %s/%s", mechanism, username, key); token = token_store:get(username, key); if token and token.mechanism == mechanism then local expected_hash = hmac_f(token.secret, "Initiator"..cb_data); @@ -54,10 +57,12 @@ end end if not tried_current_token then + log("debug", "Trying next token..."); -- Try again with the current token instead tried_current_token = true; key = key:sub(1, -4).."-cur"; else + log("debug", "No matching %s token found for %s/%s", mechanism, username, key); return nil; end until false; @@ -107,7 +112,7 @@ fast_sasl_handler.userdata = session.sasl_handler.userdata; session.sasl_handler = fast_sasl_handler; else - session.log("warn", "Client asked to auth via FAST, but no SASL handler available"); + session.log("warn", "Client asked to auth via FAST, but SASL handler or client id missing"); local failure = st.stanza("failure", { xmlns = xmlns_sasl2 }) :tag("malformed-request"):up() :text_tag("text", "FAST is not available on this stream");