diff options
author | Matthew Wild <mwild1@gmail.com> | 2009-12-17 21:36:31 +0000 |
---|---|---|
committer | Matthew Wild <mwild1@gmail.com> | 2009-12-17 21:36:31 +0000 |
commit | a50ea05d63b1bee4e17b9f48d728df5666e901f8 (patch) | |
tree | 33909789694ddc2e6a715d39e81bb0ff5e0377d6 /core/s2smanager.lua | |
parent | 2043ba8fba93b356def4bf37ae5b22c0ffc86891 (diff) | |
download | prosody-a50ea05d63b1bee4e17b9f48d728df5666e901f8.tar.gz prosody-a50ea05d63b1bee4e17b9f48d728df5666e901f8.zip |
s2smanager: Send reply stream header only after checking we serve this host (sorry darkrain... :) )
Diffstat (limited to 'core/s2smanager.lua')
-rw-r--r-- | core/s2smanager.lua | 8 |
1 files changed, 4 insertions, 4 deletions
diff --git a/core/s2smanager.lua b/core/s2smanager.lua index 381e5e53..4891b499 100644 --- a/core/s2smanager.lua +++ b/core/s2smanager.lua @@ -369,17 +369,17 @@ function streamopened(session, attr) session.streamid = uuid_gen(); (session.log or log)("debug", "incoming s2s received <stream:stream>"); - send("<?xml version='1.0'?>"); - send(stanza("stream:stream", { xmlns='jabber:server', ["xmlns:db"]='jabber:server:dialback', - ["xmlns:stream"]='http://etherx.jabber.org/streams', id=session.streamid, from=session.to_host, version=(session.version > 0 and "1.0" or nil) }):top_tag()); if session.to_host and not hosts[session.to_host] then -- Attempting to connect to a host we don't serve session:close({ condition = "host-unknown"; text = "This host does not serve "..session.to_host }); return; end + send("<?xml version='1.0'?>"); + send(stanza("stream:stream", { xmlns='jabber:server', ["xmlns:db"]='jabber:server:dialback', + ["xmlns:stream"]='http://etherx.jabber.org/streams', id=session.streamid, from=session.to_host, version=(session.version > 0 and "1.0" or nil) }):top_tag()); if session.version >= 1.0 then local features = st.stanza("stream:features"); - + if session.to_host then hosts[session.to_host].events.fire_event("s2s-stream-features", { session = session, features = features }); else |