diff options
author | Kim Alvefur <zash@zash.se> | 2021-07-18 09:08:04 +0200 |
---|---|---|
committer | Kim Alvefur <zash@zash.se> | 2021-07-18 09:08:04 +0200 |
commit | 64a444e3a2d5998c53650e71d22b00d20b1b5e97 (patch) | |
tree | d35d64f02ebbd0ef9419afbcffb543d32297fe8d | |
parent | 5b7eea90c4b0c8fdc0f47e7ececf56065a2574ab (diff) | |
download | prosody-64a444e3a2d5998c53650e71d22b00d20b1b5e97.tar.gz prosody-64a444e3a2d5998c53650e71d22b00d20b1b5e97.zip |
mod_s2s: Guard against missing 'to' on incoming stream
Given an incoming <stream:stream from="example.com"> this line would
have mistakenly reported the 'from' as the local host. Neither are
technically required and may be missing, especially on connections used
only for Dialback.
Outgoing connections initiated by Prosody always have 'from_host' and
'to_host', so it is safer to check it this way.
-rw-r--r-- | plugins/mod_s2s.lua | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/plugins/mod_s2s.lua b/plugins/mod_s2s.lua index 9aaecd6e..d4b0ca60 100644 --- a/plugins/mod_s2s.lua +++ b/plugins/mod_s2s.lua @@ -614,7 +614,7 @@ local function session_close(session, reason, remote_reason, bounce_reason) end end - local this_host = session.direction == "incoming" and session.to_host or session.from_host + local this_host = session.direction == "outgoing" and session.from_host or session.to_host if reason then -- nil == no err, initiated by us, false == initiated by remote local stream_error; |