diff options
Diffstat (limited to 'plugins/mod_s2s')
-rw-r--r-- | plugins/mod_s2s/mod_s2s.lua | 7 | ||||
-rw-r--r-- | plugins/mod_s2s/s2sout.lib.lua | 2 |
2 files changed, 5 insertions, 4 deletions
diff --git a/plugins/mod_s2s/mod_s2s.lua b/plugins/mod_s2s/mod_s2s.lua index 8e01a589..f6c20606 100644 --- a/plugins/mod_s2s/mod_s2s.lua +++ b/plugins/mod_s2s/mod_s2s.lua @@ -427,8 +427,9 @@ local function initialize_session(session) end function listener.onconnect(conn) - if not sessions[conn] then -- May be an existing outgoing session - local session = s2s_new_incoming(conn); + local session = sessions[conn]; + if not session then -- New incoming connection + session = s2s_new_incoming(conn); sessions[conn] = session; session.log("debug", "Incoming s2s connection"); @@ -448,6 +449,8 @@ function listener.onconnect(conn) end initialize_session(session); + else -- Outgoing session connected + session:open_stream(session.from_host, session.to_host); end end diff --git a/plugins/mod_s2s/s2sout.lib.lua b/plugins/mod_s2s/s2sout.lib.lua index 2ddc9299..94445ea2 100644 --- a/plugins/mod_s2s/s2sout.lib.lua +++ b/plugins/mod_s2s/s2sout.lib.lua @@ -314,8 +314,6 @@ function s2sout.make_connect(host_session, connect_host, connect_port) -- otherwise it will assume it is a new incoming connection s2s_listener.register_outgoing(conn, host_session); - host_session:open_stream(from_host, to_host); - log("debug", "Connection attempt in progress..."); return true; end |