Mercurial > prosody-modules
view mod_block_subscribes/mod_block_subscribes.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 | f88381a39c56 |
children |
line wrap: on
line source
local allowed_presence_types = { probe = true, unavailable = true }; function filter_presence(event) local stanza = event.stanza; local presence_type = stanza.attr.type; if presence_type == nil or allowed_presence_types[presence_type] then return; end return true; -- Drop end module:hook("pre-presence/bare", filter_presence, 200); -- Client sending module:hook("presence/bare", filter_presence, 200); -- Client receiving