From 3e9c8c83841a92b59147928f7f03260ff228cd7e Mon Sep 17 00:00:00 2001
From: Kim Alvefur <zash@zash.se>
Date: Thu, 10 Apr 2014 16:49:59 +0200
Subject: mod_s2s: Revert e626ee2fe106 change, it broke Dialback

---
 plugins/mod_s2s/mod_s2s.lua | 20 ++++++++++++++++++++
 1 file changed, 20 insertions(+)

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);
-- 
cgit v1.2.3