Mercurial > prosody-modules
view mod_require_otr/mod_require_otr.lua @ 6556:7477e97a9045
mod_firewall: Apply pre-reload state before re-reading config
This change makes load/reload a bit more robust. module.load() runs before
module.restore() and it reads from the config and updates the state (if
needed).
However, after this, module.restore() could run and apply the old state again.
| author | Matthew Wild <mwild1@gmail.com> |
|---|---|
| date | Sun, 24 May 2026 20:03:20 +0100 |
| parents | dfe1818962f5 |
| children |
line wrap: on
line source
local st = require "util.stanza"; local block_groupchat = module:get_option_boolean("otr_block_groupchat", false); function reject_plaintext_messages(event) local body = event.stanza:get_child_text("body"); if body and body:sub(1,4) ~= "?OTR" or (not block_groupchat and event.stanza.attr.type == "groupchat") then return event.origin.send(st.error_reply(event.stanza, "modify", "policy-violation", "OTR encryption is required for conversations on this server")); end end module:hook("pre-message/bare", reject_plaintext_messages, 300); module:hook("pre-message/full", reject_plaintext_messages, 300); module:hook("pre-message/host", reject_plaintext_messages, 300);
