aboutsummaryrefslogtreecommitdiffstats
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
commit12e69640651233c81d34938f49052f569f60676d (patch)
tree35d7ef14dde7d00aaff4d95251daa4c89df73999
parent39af0e5f379484ad67144495fc8dfd351693d8f4 (diff)
downloadprosody-12e69640651233c81d34938f49052f569f60676d.tar.gz
prosody-12e69640651233c81d34938f49052f569f60676d.zip
mod_s2s: Remove connection from sessions table as soon as we learn it is disconnected. Fixes a connection/session leak.
-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