Mercurial > prosody-modules
view mod_s2s_failclose/mod_s2s_failclose.lua @ 6514:668b1f0a4dc6
mod_c2s_limit_sessions: Fix check when it's the first connection
Creation of the sessions[username] entry happens after the
"pre-resource-bind" event, before the "resource-bind" event.
Thus, for a users first connection, it may not exist.
This led to an 'attempt to index a nil value' error, fixed here.
| author | Kim Alvefur <zash@zash.se> |
|---|---|
| date | Wed, 08 Apr 2026 15:56:38 +0200 |
| parents | 83355cfcad1d |
| children |
line wrap: on
line source
module:set_global(); local errors = require "prosody.util.error"; local incoming_s2s = prosody.incoming_s2s; -- When an outgoing connection fails, close a corresponding incoming connection with a stream error to indicate the problem to the remote module:hook("s2s-destroyed", function(event) local s2sout = event.session; if s2sout.type ~= "s2sout_unauthed" then return end for s2sin in pairs(incoming_s2s) do if s2sin.from_host == s2sout.to_host and s2sin.to_host == s2sout.from_host then s2sin:close(errors.new({ condition = "reset", text = "Could not deliver return stanzas, please check your DNS and firewall" })); end end end);
