Mercurial > prosody-modules
view mod_unsubscriber/mod_unsubscriber.lua @ 6122:f77f5e408d6a
mod_sasl2_fast: Restore non-FAST SASL handler upon reset
This fixes an issue where, after failed FAST authentication, the FAST handler
was still used (even though the client now wants to try with a password or
other non-FAST credentials).
A little hacky perhaps, but probably the best we can do without baking FAST
support directly into mod_sasl2.
| author | Matthew Wild <mwild1@gmail.com> |
|---|---|
| date | Thu, 16 Jan 2025 15:46:15 +0000 |
| parents | e00dc913d965 |
| children | 9c9889ad4302 |
line wrap: on
line source
assert(module:get_host_type() == "component", "This module should be loaded as a Component"); local st = require "util.stanza"; module:hook("presence/bare", function(event) local origin, stanza = event.origin, event.stanza; if stanza.attr.type == "probe" then -- they are subscribed and want our current presence -- tell them we denied their subscription local reply = st.reply(stanza) reply.attr.type = "unsubcribed"; origin.send(reply); return true; elseif stanza.attr.type == nil then -- they think we are subscribed and sent their current presence -- tell them we unsubscribe local reply = st.reply(stanza) reply.attr.type = "unsubcribe"; origin.send(reply); return true; end -- fall trough to default error end);
