Mercurial > prosody-modules
comparison mod_s2s_keepalive/mod_s2s_keepalive.lua @ 3771:98e1e3ce307d
mod_s2s_keepalive: Invert check to work with bidi connections
When mod_s2s_bidi is active there may be s2sin connections in the s2sout
map, which made this not work correctly.
| author | Kim Alvefur <zash@zash.se> |
|---|---|
| date | Mon, 23 Dec 2019 01:12:10 +0100 |
| parents | ae34ee0867f0 |
| children | 22f02716819f |
comparison
equal
deleted
inserted
replaced
| 3770:ae34ee0867f0 | 3771:98e1e3ce307d |
|---|---|
| 10 | 10 |
| 11 local function send_pings() | 11 local function send_pings() |
| 12 local ping_hosts = {}; | 12 local ping_hosts = {}; |
| 13 | 13 |
| 14 for remote_domain, session in pairs(s2sout) do | 14 for remote_domain, session in pairs(s2sout) do |
| 15 if session.type == "s2sout" -- as opposed to _unauthed | 15 if session.type ~= "s2sout_unauthed" |
| 16 and (not(keepalive_servers) or keepalive_servers:contains(remote_domain)) then | 16 and (not(keepalive_servers) or keepalive_servers:contains(remote_domain)) then |
| 17 session.sends2s(st.iq({ to = remote_domain, type = "get", from = host, id = "keepalive" }) | 17 session.sends2s(st.iq({ to = remote_domain, type = "get", from = host, id = "keepalive" }) |
| 18 :tag("ping", { xmlns = "urn:xmpp:ping" }) | 18 :tag("ping", { xmlns = "urn:xmpp:ping" }) |
| 19 ); | 19 ); |
| 20 end | 20 end |
| 21 end | 21 end |
| 22 | 22 |
| 23 for session in pairs(prosody.incoming_s2s) do | 23 for session in pairs(prosody.incoming_s2s) do |
| 24 if session.type == "s2sin" -- as opposed to _unauthed | 24 if session.type ~= "s2sin_unauthed" |
| 25 and (not(keepalive_servers) or keepalive_servers:contains(session.from_host)) then | 25 and (not(keepalive_servers) or keepalive_servers:contains(session.from_host)) then |
| 26 if not s2sout[session.from_host] then ping_hosts[session.from_host] = true; end | 26 if not s2sout[session.from_host] then ping_hosts[session.from_host] = true; end |
| 27 session.sends2s " "; | 27 session.sends2s " "; |
| 28 -- If the connection is dead, this should make it time out. | 28 -- If the connection is dead, this should make it time out. |
| 29 end | 29 end |
