# HG changeset patch # User Kim Alvefur # Date 1712401475 -7200 # Node ID 13094c7074147f8fad880d41c61c4d7572d40e10 # Parent 70fa3f8de2495cb3126c107f2c5c2c77d72b2992 mod_client_management: Prevent exception on missing client info > attempt to index a nil value (local 'legacy_info') Unsure how exactly this happens, perhaps by mixing SASL2/BIND2 with legacy equivalents? diff -r 70fa3f8de249 -r 13094c707414 mod_client_management/mod_client_management.lua --- a/mod_client_management/mod_client_management.lua Sat Mar 30 15:10:51 2024 +0100 +++ b/mod_client_management/mod_client_management.lua Sat Apr 06 13:04:35 2024 +0200 @@ -116,17 +116,22 @@ end -- Update state - local legacy_info = session.client_management_info; client_state.full_jid = session.full_jid; client_state.last_seen = now; - client_state.mechanisms[legacy_info.mechanism] = now; - if legacy_info.fast_auth then - client_state.fast_auth = now; - end - local token_id = legacy_info.token_info and legacy_info.token_info.id; - if token_id then - client_state.auth_token_id = token_id; + local legacy_info = session.client_management_info; + if legacy_info then + client_state.mechanisms[legacy_info.mechanism] = now; + if legacy_info.fast_auth then + client_state.fast_auth = now; + end + + local token_id = legacy_info.token_info and legacy_info.token_info.id; + if token_id then + client_state.auth_token_id = token_id; + end + else + session.log("warn", "Missing client management info") end -- Store updated state