local tostring, print = tostring, print;
local _G = _G;
+local debug = debug;
module "modulemanager"
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
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];