Software / code / prosody
Comparison
core/modulemanager.lua @ 385:c064117c9357
Check to prevent error for IQs from completely unhandled origins
| author | Waqas Hussain <waqas20@gmail.com> |
|---|---|
| date | Sat, 22 Nov 2008 23:14:31 +0500 |
| parent | 300:0ebf2ef5124e |
| child | 391:79bd7a3e906c |
comparison
equal
deleted
inserted
replaced
| 384:4542bcdb7f55 | 385:c064117c9357 |
|---|---|
| 90 log("debug", "Stanza is an <iq/>"); | 90 log("debug", "Stanza is an <iq/>"); |
| 91 local child = stanza.tags[1]; | 91 local child = stanza.tags[1]; |
| 92 if child then | 92 if child then |
| 93 local xmlns = child.attr.xmlns or xmlns; | 93 local xmlns = child.attr.xmlns or xmlns; |
| 94 log("debug", "Stanza of type %s from %s has xmlns: %s", name, origin_type, xmlns); | 94 log("debug", "Stanza of type %s from %s has xmlns: %s", name, origin_type, xmlns); |
| 95 local handler = handlers[origin_type][name][xmlns]; | 95 local handler = handlers[origin_type][name] and handlers[origin_type][name][xmlns]; |
| 96 if handler then | 96 if handler then |
| 97 log("debug", "Passing stanza to mod_%s", handler_info[handler].name); | 97 log("debug", "Passing stanza to mod_%s", handler_info[handler].name); |
| 98 return handler(origin, stanza) or true; | 98 return handler(origin, stanza) or true; |
| 99 end | 99 end |
| 100 end | 100 end |
| 101 elseif handlers[origin_type] then | 101 elseif handlers[origin_type] then |
| 102 local handler = handlers[origin_type][name]; | 102 local handler = handlers[origin_type][name]; |
| 103 if handler then | 103 if handler then |
| 104 handler = handler[xmlns]; | 104 handler = handler[xmlns]; |
| 105 if handler then | 105 if handler then |
| 106 log("debug", "Passing stanza to mod_%s", handler_info[handler].name); | 106 log("debug", "Passing stanza to mod_%s", handler_info[handler].name); |
| 107 return handler(origin, stanza) or true; | 107 return handler(origin, stanza) or true; |
| 108 end | 108 end |