Update mod_selftests to use the hosts on http://xmpp.org/interop/servers.shtml
[prosody.git] / core / modulemanager.lua
index aadd89de2fbf98f6bc1a2ae4a1dacf7dca2f74bb..d313130c0e334c1b6a0876c9616a3017a23be7b2 100644 (file)
@@ -10,6 +10,7 @@ local type = type;
 local tostring, print = tostring, print;
 
 local _G = _G;
+local debug = debug;
 
 module "modulemanager"
 
@@ -77,7 +78,7 @@ function load(name)
        local success, ret = pcall(mod);
        if not success then
                log("error", "Error initialising module '%s': %s", name or "nil", ret or "nil");
-               return nil, err;
+               return nil, ret;
        end
        return true;
 end
@@ -89,14 +90,13 @@ function handle_stanza(origin, stanza)
                log("debug", "Stanza is an <iq/>");
                local child = stanza.tags[1];
                if child then
-                       local xmlns = child.attr.xmlns;
-                       log("debug", "Stanza has xmlns: %s", xmlns);
-                       local handler = handlers[origin_type][name][xmlns];
-                       if  handler then
+                       local xmlns = child.attr.xmlns or xmlns;
+                       log("debug", "Stanza of type %s from %s has xmlns: %s", name, origin_type, xmlns);
+                       local handler = handlers[origin_type][name] and handlers[origin_type][name][xmlns];
+                       if handler then
                                log("debug", "Passing stanza to mod_%s", handler_info[handler].name);
                                return handler(origin, stanza) or true;
                        end
-
                end
        elseif handlers[origin_type] then
                local handler = handlers[origin_type][name];