mod_s2s: Revert e626ee2fe106 change, it broke Dialback
authorKim Alvefur <zash@zash.se>
Thu, 10 Apr 2014 14:49:59 +0000 (16:49 +0200)
committerKim Alvefur <zash@zash.se>
Thu, 10 Apr 2014 14:49:59 +0000 (16:49 +0200)
plugins/mod_s2s/mod_s2s.lua

index d27f50af33a88e243e2533f14a84cedccda5652b..5531ca3e1b4b90f4c71e70ffe16588b3314048e4 100644 (file)
@@ -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);