diff options
author | Kim Alvefur <zash@zash.se> | 2014-04-10 16:49:59 +0200 |
---|---|---|
committer | Kim Alvefur <zash@zash.se> | 2014-04-10 16:49:59 +0200 |
commit | 3e9c8c83841a92b59147928f7f03260ff228cd7e (patch) | |
tree | 9e168c720767877b0189e9e399ce89f187f6682c /plugins/mod_s2s/mod_s2s.lua | |
parent | ae8a4fb909a0cce10a12e9ced65e45ef2d1495fa (diff) | |
download | prosody-3e9c8c83841a92b59147928f7f03260ff228cd7e.tar.gz prosody-3e9c8c83841a92b59147928f7f03260ff228cd7e.zip |
mod_s2s: Revert e626ee2fe106 change, it broke Dialback
Diffstat (limited to 'plugins/mod_s2s/mod_s2s.lua')
-rw-r--r-- | plugins/mod_s2s/mod_s2s.lua | 20 |
1 files changed, 20 insertions, 0 deletions
diff --git a/plugins/mod_s2s/mod_s2s.lua b/plugins/mod_s2s/mod_s2s.lua index d27f50af..5531ca3e 100644 --- a/plugins/mod_s2s/mod_s2s.lua +++ b/plugins/mod_s2s/mod_s2s.lua @@ -510,6 +510,24 @@ local function session_close(session, reason, remote_reason) end end +function session_open_stream(session, from, to) + local attr = { + ["xmlns:stream"] = 'http://etherx.jabber.org/streams', + xmlns = 'jabber:server', + version = session.version and (session.version > 0 and "1.0" or nil), + ["xml:lang"] = 'en', + id = session.streamid, + from = from, to = to, + } + if not from or (hosts[from] and hosts[from].modules.dialback) then + attr["xmlns:db"] = 'jabber:server:dialback'; + end + + session.sends2s("<?xml version='1.0'?>"); + session.sends2s(st.stanza("stream:stream", attr):top_tag()); + return true; +end + -- Session initialization logic shared by incoming and outgoing local function initialize_session(session) local stream = new_xmpp_stream(session, stream_callbacks); @@ -522,6 +540,8 @@ local function initialize_session(session) session.stream:reset(); end + session.open_stream = session_open_stream; + local filter = session.filter; function session.data(data) data = filter("bytes/in", data); |