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
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
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);