Mercurial > prosody-modules
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 |
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); |