diff options
author | Matthew Wild <mwild1@gmail.com> | 2012-05-04 02:22:26 +0100 |
---|---|---|
committer | Matthew Wild <mwild1@gmail.com> | 2012-05-04 02:22:26 +0100 |
commit | 2cc95ea48abfc0f80268171277e055680e848f75 (patch) | |
tree | 38e0563ad0a0aebb48ee3a898031aaf2bb68ea74 /plugins/mod_s2s | |
parent | 174997d348dce80b22b18c3265bc1abd9f87f688 (diff) | |
download | prosody-2cc95ea48abfc0f80268171277e055680e848f75.tar.gz prosody-2cc95ea48abfc0f80268171277e055680e848f75.zip |
mod_s2s: Add session.send() only to incoming streams, and fire the route/remote event on the host (not global anymore)
Diffstat (limited to 'plugins/mod_s2s')
-rw-r--r-- | plugins/mod_s2s/mod_s2s.lua | 6 |
1 files changed, 5 insertions, 1 deletions
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) |