From 75d9d9e997d8f88e483f3c79305fe0d79fb90c9a Mon Sep 17 00:00:00 2001 From: Matthew Wild Date: Thu, 10 May 2012 22:59:01 +0100 Subject: mod_s2s, s2smanager, mod_dialback: Move addition of session.send() on s2sin to after they are authenticated (thus from mod_s2s to s2smanager). Update mod_dialback to fire route/remote directly, as session.send() is no longer available for s2sin_unauthed. Fixes #291. --- core/s2smanager.lua | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) (limited to 'core') diff --git a/core/s2smanager.lua b/core/s2smanager.lua index 5907ff2f..8d590843 100644 --- a/core/s2smanager.lua +++ b/core/s2smanager.lua @@ -117,10 +117,15 @@ function mark_connected(session) local event_data = { session = session }; if session.type == "s2sout" then prosody.events.fire_event("s2sout-established", event_data); - hosts[session.from_host].events.fire_event("s2sout-established", event_data); + hosts[from].events.fire_event("s2sout-established", event_data); else + local host_session = hosts[to]; + session.send = function(stanza) + host_session.events.fire_event("route/remote", { from_host = to, to_host = from, stanza = stanza }); + end; + prosody.events.fire_event("s2sin-established", event_data); - hosts[session.to_host].events.fire_event("s2sin-established", event_data); + hosts[to].events.fire_event("s2sin-established", event_data); end if session.direction == "outgoing" then -- cgit v1.2.3