# HG changeset patch # User Matthew Wild # Date 1243802121 -3600 # Node ID 98f0e9eadf3b4444f9b7ad58c83a2c7da94dd6f0 # Parent a25b12c105bb36556ba481f3bbeb1db30c1b4aaf stanza_router: Fire global event if host doesn't have events, fixes #103 diff -r a25b12c105bb -r 98f0e9eadf3b core/stanza_router.lua --- a/core/stanza_router.lua Sun May 31 21:31:02 2009 +0100 +++ b/core/stanza_router.lua Sun May 31 21:35:21 2009 +0100 @@ -127,7 +127,7 @@ else event = "stanza/"..stanza.attr.xmlns..":"..stanza.name; end - if h.events.fire_event(event, {origin = origin, stanza = stanza}) then return; end + if (h.events or prosody.events).fire_event(event, {origin = origin, stanza = stanza}) then return; end end modules_handle_stanza(host or origin.host or origin.to_host, origin, stanza); end @@ -155,7 +155,7 @@ local event_data = {origin=origin, stanza=stanza}; if origin.full_jid then -- c2s connection - if hosts[origin.host].events.fire_event('pre-'..stanza.name..to_type, event_data) then return; end -- do preprocessing + if (hosts[origin.host].events or prosody.events).fire_event('pre-'..stanza.name..to_type, event_data) then return; end -- do preprocessing end local h = hosts[to_bare] or hosts[host or origin.host]; if h then @@ -163,7 +163,7 @@ component_handle_stanza(origin, stanza); return; else - if h.events.fire_event(stanza.name..to_type, event_data) then return; end -- do processing + if (h.events or prosody.events).fire_event(stanza.name..to_type, event_data) then return; end -- do processing end else -- non-local recipient core_route_stanza(origin, stanza);