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
commite2fcce6523999eaee920c09ba1e1fa4bd0af3e08 (patch)
tree775860fdc145200d44619a577a34cc1ea83fda8f /plugins
parenta415748985aa2ec998caabb5baf1d7f083d6076a (diff)
parent793af5630894999a11f2485c2162ff9ca1454799 (diff)
downloadprosody-e2fcce6523999eaee920c09ba1e1fa4bd0af3e08.tar.gz
prosody-e2fcce6523999eaee920c09ba1e1fa4bd0af3e08.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);