mod_dialback: Use session:close() on dialback failure instead of s2smanager.destroy_s...
authorMatthew Wild <mwild1@gmail.com>
Mon, 21 Mar 2011 19:32:51 +0000 (19:32 +0000)
committerMatthew Wild <mwild1@gmail.com>
Mon, 21 Mar 2011 19:32:51 +0000 (19:32 +0000)
plugins/mod_dialback.lua

index a8923e2768828297d0bf51a3946ec45d224cd6d9..8c80dce6a57e87cd3d6bf158ca889b1404b40ec2 100644 (file)
@@ -12,7 +12,6 @@ local send_s2s = require "core.s2smanager".send_to_host;
 local s2s_make_authenticated = require "core.s2smanager".make_authenticated;
 local s2s_initiate_dialback = require "core.s2smanager".initiate_dialback;
 local s2s_verify_dialback = require "core.s2smanager".verify_dialback;
-local s2s_destroy_session = require "core.s2smanager".destroy_session;
 
 local log = module._log;
 
@@ -126,25 +125,15 @@ module:hook("stanza/jabber:server:dialback:result", function(event)
                if stanza.attr.type == "valid" then
                        s2s_make_authenticated(origin, attr.from);
                else
-                       s2s_destroy_session(origin)
+                       origin:close("not-authorized", "dialback authentication failed");
                end
                return true;
        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)
-       if not origin.external_auth or origin.external_auth == "failed" then
-               s2s_initiate_dialback(origin);
-               return true;
-       end
+       s2s_initiate_dialback(origin);
+       return true;
 end, 100);
 
 -- Offer dialback to incoming hosts