# HG changeset patch # User Matthew Wild # Date 1243816602 -3600 # Node ID 497178e0ddbe6138aceba57a7c53af444181dbbd # Parent 04c1fae0eb0327943fe54aec16ea96dbd60766ae# Parent 01b69efffb1c2090d4e9ef979432c6b5f33369e0 Automated merge with http://waqas.ath.cx:8000/ diff -r 04c1fae0eb03 -r 497178e0ddbe core/componentmanager.lua --- a/core/componentmanager.lua Mon Jun 01 05:35:32 2009 +0500 +++ b/core/componentmanager.lua Mon Jun 01 01:36:42 2009 +0100 @@ -89,6 +89,12 @@ if not hosts[host] or (hosts[host].type == 'component' and not hosts[host].connected) then components[host] = component; hosts[host] = session or create_component(host, component); + + -- Add events object if not already one + if not hosts[host].events then + hosts[host].events = events_new(); + end + -- add to disco_items if not(host:find("@", 1, true) or host:find("/", 1, true)) and host:find(".", 1, true) then disco_items:set(host:sub(host:find(".", 1, true)+1), host, true); diff -r 04c1fae0eb03 -r 497178e0ddbe core/stanza_router.lua --- a/core/stanza_router.lua Mon Jun 01 05:35:32 2009 +0500 +++ b/core/stanza_router.lua Mon Jun 01 01:36:42 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,11 +163,8 @@ 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); - return; end if host and fire_event(host.."/"..stanza.name, event_data) then diff -r 04c1fae0eb03 -r 497178e0ddbe net/xmppclient_listener.lua --- a/net/xmppclient_listener.lua Mon Jun 01 05:35:32 2009 +0500 +++ b/net/xmppclient_listener.lua Mon Jun 01 01:36:42 2009 +0100 @@ -115,6 +115,7 @@ session.log("info", "Client connected"); + -- Client is using legacy SSL (otherwise mod_tls sets this flag) if conn.ssl() then session.secure = true; end