From 2cc95ea48abfc0f80268171277e055680e848f75 Mon Sep 17 00:00:00 2001 From: Matthew Wild Date: Fri, 4 May 2012 02:22:26 +0100 Subject: mod_s2s: Add session.send() only to incoming streams, and fire the route/remote event on the host (not global anymore) --- plugins/mod_s2s/mod_s2s.lua | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/plugins/mod_s2s/mod_s2s.lua b/plugins/mod_s2s/mod_s2s.lua index 57564226..abe1992c 100644 --- a/plugins/mod_s2s/mod_s2s.lua +++ b/plugins/mod_s2s/mod_s2s.lua @@ -250,6 +250,11 @@ function stream_callbacks.streamopened(session, attr) log("debug", "Sending stream features: %s", tostring(features)); send(features); end + + local host_session = hosts[session.to_host]; + session.send = function(stanza) + host_session.events.fire_event("route/remote", { from_host = session.to_host, to_host = session.from_host, stanza = stanza}) + end; elseif session.direction == "outgoing" then -- If we are just using the connection for verifying dialback keys, we won't try and auth it if not attr.id then error("stream response did not give us a streamid!!!"); end @@ -281,7 +286,6 @@ function stream_callbacks.streamopened(session, attr) end end session.notopen = nil; - session.send = function(stanza) prosody.events.fire_event("route/remote", { from_host = session.to_host, to_host = session.from_host, stanza = stanza}) end; end function stream_callbacks.streamclosed(session) -- cgit v1.2.3