X-Git-Url: https://git.enpas.org/?a=blobdiff_plain;f=plugins%2Fmod_dialback.lua;h=e27f8657b2a4b24b7fb90321cac49ae6ed5af7c3;hb=dbaf733912c1504f695c3671a5d2e253e826871e;hp=5060f08fbd35dbf6ec1a0ac8a5ac8ba197ec5566;hpb=03155b96e17626e8b93a7834c0500133730e064a;p=prosody.git diff --git a/plugins/mod_dialback.lua b/plugins/mod_dialback.lua index 5060f08f..e27f8657 100644 --- a/plugins/mod_dialback.lua +++ b/plugins/mod_dialback.lua @@ -131,12 +131,22 @@ module:hook("stanza/jabber:server:dialback:result", function(event) end end); +module:hook_stanza("urn:ietf:params:xml:ns:xmpp-sasl", "failure", function (origin, stanza) + if origin.external_auth == "failed" then + module:log("debug", "SASL EXTERNAL failed, falling back to dialback"); + s2s_initiate_dialback(origin); + return true; + end +end, 100); + module:hook_stanza(xmlns_stream, "features", function (origin, stanza) - s2s_initiate_dialback(origin); - return true; + if not origin.external_auth or origin.external_auth == "failed" then + s2s_initiate_dialback(origin); + return true; + end end, 100); -- Offer dialback to incoming hosts module:hook("s2s-stream-features", function (data) - data.features:tag("dialback", { xmlns='urn:xmpp:features:dialback' }):tag("optional"):up():up(); + data.features:tag("dialback", { xmlns='urn:xmpp:features:dialback' }):up(); end);