diff options
author | Matthew Wild <mwild1@gmail.com> | 2012-12-28 12:47:44 +0000 |
---|---|---|
committer | Matthew Wild <mwild1@gmail.com> | 2012-12-28 12:47:44 +0000 |
commit | 12e69640651233c81d34938f49052f569f60676d (patch) | |
tree | 35d7ef14dde7d00aaff4d95251daa4c89df73999 /plugins | |
parent | 39af0e5f379484ad67144495fc8dfd351693d8f4 (diff) | |
download | prosody-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.
Diffstat (limited to 'plugins')
-rw-r--r-- | plugins/mod_s2s/mod_s2s.lua | 2 |
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 |