From 8ad65c2824d2ee3bd52175df34fdd7bd9d393231 Mon Sep 17 00:00:00 2001 From: Matthew Wild Date: Tue, 28 Jul 2009 19:15:29 +0100 Subject: xmpp{client,server,component]_listener: Open stream if sending an error and it isn't already open. Fixes #120 --- net/xmppserver_listener.lua | 5 +++++ 1 file changed, 5 insertions(+) (limited to 'net/xmppserver_listener.lua') diff --git a/net/xmppserver_listener.lua b/net/xmppserver_listener.lua index 3cfcfe86..81d26526 100644 --- a/net/xmppserver_listener.lua +++ b/net/xmppserver_listener.lua @@ -69,9 +69,14 @@ end local stream_xmlns_attr = {xmlns='urn:ietf:params:xml:ns:xmpp-streams'}; +local default_stream_attr = { ["xmlns:stream"] = stream_callbacks.stream_tag:gsub("%|[^|]+$", ""), xmlns = stream_callbacks.default_ns, version = "1.0", id = "" }; local function session_close(session, reason) local log = session.log or log; if session.conn then + if session.notopen then + session.sends2s(""); + session.sends2s(st.stanza("stream:stream", default_stream_attr):top_tag()); + end if reason then if type(reason) == "string" then -- assume stream error log("info", "Disconnecting %s[%s], is: %s", session.host or "(unknown host)", session.type, reason); -- cgit v1.2.3