From 494b53ce0b5167d89f80c41dbc69fe8af6836f82 Mon Sep 17 00:00:00 2001 From: Kim Alvefur Date: Wed, 3 Mar 2021 13:26:38 +0100 Subject: mod_s2s: Check direction in bidi-aware style Both session.incoming and session.outgoing are truthy here, but session.direction indicates the "real" direction in the way that matters for the order of events when opening or closing streams. --- plugins/mod_s2s.lua | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/plugins/mod_s2s.lua b/plugins/mod_s2s.lua index 5a629a90..3d4506bf 100644 --- a/plugins/mod_s2s.lua +++ b/plugins/mod_s2s.lua @@ -542,7 +542,7 @@ local function session_close(session, reason, remote_reason, bounce_reason) -- Authenticated incoming stream may still be sending us stanzas, so wait for from remote local conn = session.conn; - if reason == nil and not session.notopen and session.incoming then + if reason == nil and not session.notopen and session.direction == "incoming" then add_task(stream_close_timeout, function () if not session.destroyed then session.log("warn", "Failed to receive a stream close response, closing connection anyway..."); -- cgit v1.2.3