Mercurial > prosody-modules
annotate mod_s2s_smacks_timeout/mod_s2s_smacks_timeout.lua @ 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 |
rev | line source |
---|---|
4981
f0fe95f9e21c
mod_s2s_smacks_timeout: Use mod_smacks to close stale s2s connections
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
1 module:depends("smacks"); |
f0fe95f9e21c
mod_s2s_smacks_timeout: Use mod_smacks to close stale s2s connections
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
2 |
f0fe95f9e21c
mod_s2s_smacks_timeout: Use mod_smacks to close stale s2s connections
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
3 module:hook("smacks-ack-delayed", function (event) |
f0fe95f9e21c
mod_s2s_smacks_timeout: Use mod_smacks to close stale s2s connections
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
4 if event.origin.type == "s2sin" or event.origin.type == "s2sout" then |
f0fe95f9e21c
mod_s2s_smacks_timeout: Use mod_smacks to close stale s2s connections
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
5 event.origin:close("connection-timeout"); |
f0fe95f9e21c
mod_s2s_smacks_timeout: Use mod_smacks to close stale s2s connections
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
6 return true; |
f0fe95f9e21c
mod_s2s_smacks_timeout: Use mod_smacks to close stale s2s connections
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
7 end |
f0fe95f9e21c
mod_s2s_smacks_timeout: Use mod_smacks to close stale s2s connections
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
8 end); |