aboutsummaryrefslogtreecommitdiffstats
path: root/plugins
diff options
context:
space:
mode:
authorKim Alvefur <zash@zash.se>2014-04-10 16:52:03 +0200
committerKim Alvefur <zash@zash.se>2014-04-10 16:52:03 +0200
commit1c3053a6ebcb9fc16051becc296f61b82e14e100 (patch)
tree775860fdc145200d44619a577a34cc1ea83fda8f /plugins
parent87020b4789013b1d8ff33d7929d455392b1d9638 (diff)
parent3e9c8c83841a92b59147928f7f03260ff228cd7e (diff)
downloadprosody-1c3053a6ebcb9fc16051becc296f61b82e14e100.tar.gz
prosody-1c3053a6ebcb9fc16051becc296f61b82e14e100.zip
Merge 0.10->trunk
Diffstat (limited to 'plugins')
-rw-r--r--plugins/mod_s2s/mod_s2s.lua20
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);