annotate mod_ignore_host_chatstates/mod_ignore_host_chatstates.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 aed47ebd26d3
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
3419
aed47ebd26d3 mod_ignore_host_chatstates: Discard chat state messages sent to a bare host
Kim Alvefur <zash@zash.se>
parents:
diff changeset
1 module:hook("message/host", function (event)
aed47ebd26d3 mod_ignore_host_chatstates: Discard chat state messages sent to a bare host
Kim Alvefur <zash@zash.se>
parents:
diff changeset
2 local stanza = event.stanza;
aed47ebd26d3 mod_ignore_host_chatstates: Discard chat state messages sent to a bare host
Kim Alvefur <zash@zash.se>
parents:
diff changeset
3 if #stanza.tags == 1 and stanza.tags[1].attr.xmlns == "http://jabber.org/protocol/chatstates" then
aed47ebd26d3 mod_ignore_host_chatstates: Discard chat state messages sent to a bare host
Kim Alvefur <zash@zash.se>
parents:
diff changeset
4 return true;
aed47ebd26d3 mod_ignore_host_chatstates: Discard chat state messages sent to a bare host
Kim Alvefur <zash@zash.se>
parents:
diff changeset
5 end
aed47ebd26d3 mod_ignore_host_chatstates: Discard chat state messages sent to a bare host
Kim Alvefur <zash@zash.se>
parents:
diff changeset
6 end, -10);