Software /
code /
prosody-modules
Diff
mod_sasl2/mod_sasl2.lua @ 6055:23c4c61a1068
mod_muc_gateway_optimize: New module to optimize muc presence to remote gateways
Some gateways are happy to receive presence for each participant
in MUCs that they are in only once, to any one of their joined JIDs.
author | Stephen Paul Weber <singpolyma@singpolyma.net> |
---|---|
date | Sun, 17 Nov 2024 22:32:52 -0500 (4 months ago) |
parent | 6036:1ef53e0264f4 |
child | 6056:56fa3bad16cc |
line wrap: on
line diff
--- a/mod_sasl2/mod_sasl2.lua Mon Nov 11 23:33:01 2024 +0100 +++ b/mod_sasl2/mod_sasl2.lua Sun Nov 17 22:32:52 2024 -0500 @@ -179,6 +179,26 @@ end end, 1000); +module:hook("sasl2/c2s/tasks", function(event) + if event.session.tested then + return; + end + + return { tasks = { TEST = function(session, el) + local data = st.stanza("task-data", { xmlns = xmlns_sasl2 }); + local count = tonumber(el:get_child_text("test", "test") or "0"); + if count >= 10000 then + session.tested = true + module:fire_event("sasl2/"..session.base_type.."/success", { + session = session, + }); + else + data:text_tag("test", tostring(count + 1), { xmlns = "test" }) + session.send(data); + end + end }, text = "Need to test this" }; +end); + module:hook("sasl2/c2s/success", function (event) local session = event.session event.success:text_tag("authorization-identifier", jid_join(session.username, session.host, session.resource));