# HG changeset patch # User Matthew Wild # Date 1356698864 0 # Node ID 0d08c09658243280dd8487298d9bd7d9d8e107ed # Parent 1e555909f23df375cf210566f6a868a4e0153bca mod_s2s: Remove connection from sessions table as soon as we learn it is disconnected. Fixes a connection/session leak. diff -r 1e555909f23d -r 0d08c0965824 plugins/mod_s2s/mod_s2s.lua --- a/plugins/mod_s2s/mod_s2s.lua Thu Dec 27 20:44:58 2012 +0100 +++ b/plugins/mod_s2s/mod_s2s.lua Fri Dec 28 12:47:44 2012 +0000 @@ -485,6 +485,7 @@ 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 @@ 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