From: Matthew Wild Date: Wed, 3 Mar 2010 22:05:05 +0000 (+0000) Subject: Merge 0.6.2/waqas with 0.6.2/MattJ X-Git-Url: https://git.enpas.org/?a=commitdiff_plain;h=b758596b055327e0708c763a8a2b31616bc2ee04;p=prosody.git Merge 0.6.2/waqas with 0.6.2/MattJ --- b758596b055327e0708c763a8a2b31616bc2ee04 diff --cc core/s2smanager.lua index e8d8e723,aabfddd6..92f07354 --- a/core/s2smanager.lua +++ b/core/s2smanager.lua @@@ -491,9 -504,7 +504,9 @@@ function mark_connected(session end end +local function null_data_handler(conn, data) log("debug", "Discarding data from destroyed s2s session: %s", data); end + - function destroy_session(session) + function destroy_session(session, reason) (session.log or log)("info", "Destroying "..tostring(session.direction).." session "..tostring(session.from_host).."->"..tostring(session.to_host)); if session.direction == "outgoing" then diff --cc net/xmppserver_listener.lua index 2ab51992,4394eac5..86a3d735 --- a/net/xmppserver_listener.lua +++ b/net/xmppserver_listener.lua @@@ -159,9 -159,10 +159,9 @@@ function xmppserver.disconnect(conn, er end end (session.log or log)("info", "s2s disconnected: %s->%s (%s)", tostring(session.from_host), tostring(session.to_host), tostring(err)); - s2s_destroy_session(session); + s2s_destroy_session(session, err); sessions[conn] = nil; session = nil; - collectgarbage("collect"); end end diff --cc prosody index 55198c2f,40aeac5e..7f4a2cec --- a/prosody +++ b/prosody @@@ -195,11 -198,11 +198,11 @@@ function init_global_state( if type(port) ~= "number" then log("error", "Non-numeric "..option.."_ports: "..tostring(port)); else - cl.start(listener, { + local ok, err = cl.start(listener, { ssl = conntype ~= "tcp" and global_ssl_ctx, port = port, - interface = config.get("*", "core", option.."_interface") - or cl.get(listener).default_interface + interface = (option and config.get("*", "core", option.."_interface")) + or cl.get(listener).default_interface or config.get("*", "core", "interface"), type = conntype });