Mercurial > prosody-modules
view mod_s2s_smacks_timeout/README.md @ 5381:32a9817c7516
mod_firewall: Initialize compiled chunk just once for all handlers
This should fix a case where some stateful dependencies (such as throttles)
produce separate instances for every call to new_handler(), leading to
surprising behaviour (e.g. rules executed via JUMP CHAIN vs ::deliver would
have separate rate limits).
This also adds better error handling in case the compiled code fails to run
for some reason.
author | Matthew Wild <mwild1@gmail.com> |
---|---|
date | Fri, 28 Apr 2023 13:27:06 +0100 |
parents | f0fe95f9e21c |
children | 78368d2865dd |
line wrap: on
line source
# Introduction This module closes s2s connections when [mod_smacks][doc:modules:mod_smacks] reports that a connection has not received a timely acknowledgement as requested, indicating that the connection is broken or the remote server is not responding. With the connection closed, the next stanza to be directed to that server will trigger Prosody to establish a new connection, instead of queueing it on the potentially broken connection. This should prevent messages from being stuck in a queue for a potentially long time before being bounced back to the sender as delivery failure reports. Normally the amount of time it takes for a broken connection to time out is determined by TCP. If this is deemed sensible behavior then it will likely be merged into Prosody itself somewhere.