From 2ac8168e296c562e44e8d83d794096929ed2ee83 Mon Sep 17 00:00:00 2001 From: Waqas Hussain Date: Sat, 22 Nov 2008 23:14:31 +0500 Subject: Check to prevent error for IQs from completely unhandled origins --- core/modulemanager.lua | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) (limited to 'core/modulemanager.lua') diff --git a/core/modulemanager.lua b/core/modulemanager.lua index 783fea55..f4893089 100644 --- a/core/modulemanager.lua +++ b/core/modulemanager.lua @@ -92,15 +92,15 @@ function handle_stanza(origin, stanza) if child 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][xmlns]; - if handler then + 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]; - if handler then + if handler then handler = handler[xmlns]; if handler then log("debug", "Passing stanza to mod_%s", handler_info[handler].name); -- cgit v1.2.3 From ff3d9317b74fbc2dad5b5a77d8c0f9fc3dd41696 Mon Sep 17 00:00:00 2001 From: Matthew Wild Date: Sun, 23 Nov 2008 05:14:37 +0000 Subject: Typo prevented modulemanager.load() from returning the error if load failed. --- core/modulemanager.lua | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) (limited to 'core/modulemanager.lua') diff --git a/core/modulemanager.lua b/core/modulemanager.lua index f4893089..b0fb6cd9 100644 --- a/core/modulemanager.lua +++ b/core/modulemanager.lua @@ -78,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 @@ -92,15 +92,15 @@ function handle_stanza(origin, stanza) if child 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 + local handler = 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]; - if handler then + if handler then handler = handler[xmlns]; if handler then log("debug", "Passing stanza to mod_%s", handler_info[handler].name); -- cgit v1.2.3 From f1878f266675ad6f8003c3d514769f8d5984bc3a Mon Sep 17 00:00:00 2001 From: Waqas Hussain Date: Sun, 23 Nov 2008 10:39:13 +0500 Subject: Check to prevent error on IQs from completely unhandled origins --- core/modulemanager.lua | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'core/modulemanager.lua') diff --git a/core/modulemanager.lua b/core/modulemanager.lua index b0fb6cd9..d313130c 100644 --- a/core/modulemanager.lua +++ b/core/modulemanager.lua @@ -92,8 +92,8 @@ function handle_stanza(origin, stanza) if child 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][xmlns]; - if handler then + 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 -- cgit v1.2.3