aboutsummaryrefslogtreecommitdiffstats
path: root/plugins/mod_s2s
diff options
context:
space:
mode:
authorMatthew Wild <mwild1@gmail.com>2012-12-28 12:47:44 +0000
committerMatthew Wild <mwild1@gmail.com>2012-12-28 12:47:44 +0000
commitb9ac1b8b07a8f0ac3c16595a544132ea6f43e998 (patch)
tree35d7ef14dde7d00aaff4d95251daa4c89df73999 /plugins/mod_s2s
parentc141ffdbf604abb6536ff200ac21c7499fb69731 (diff)
downloadprosody-b9ac1b8b07a8f0ac3c16595a544132ea6f43e998.tar.gz
prosody-b9ac1b8b07a8f0ac3c16595a544132ea6f43e998.zip
mod_s2s: Remove connection from sessions table as soon as we learn it is disconnected. Fixes a connection/session leak.
Diffstat (limited to 'plugins/mod_s2s')
-rw-r--r--plugins/mod_s2s/mod_s2s.lua2
1 files changed, 1 insertions, 1 deletions
diff --git a/plugins/mod_s2s/mod_s2s.lua b/plugins/mod_s2s/mod_s2s.lua
index 098a74bd..788a64af 100644
--- a/plugins/mod_s2s/mod_s2s.lua
+++ b/plugins/mod_s2s/mod_s2s.lua
@@ -485,6 +485,7 @@ end
function listener.ondisconnect(conn, err)
local session = sessions[conn];
if session then
+ sessions[conn] = nil;
if err and session.direction == "outgoing" and session.notopen then
(session.log or log)("debug", "s2s connection attempt failed: %s", err);
if s2sout.attempt_connection(session, err) then
@@ -494,7 +495,6 @@ function listener.ondisconnect(conn, err)
end
(session.log or log)("debug", "s2s disconnected: %s->%s (%s)", tostring(session.from_host), tostring(session.to_host), tostring(err or "connection closed"));
s2s_destroy_session(session, err);
- sessions[conn] = nil;
end
end