view mod_deny_omemo/mod_deny_omemo.lua @ 4983:7c77058a1ac5

mod_compat_roles: New module providing compat shim for trunk's new role API The new role API is translated to is_admin() calls on older versions. On newer versions (which have the role API) this module does nothing. It allows modules to drop their use of is_admin() (which is not available in trunk) and switch to the new role API, while remaining compatible with previous Prosody versions.
author Matthew Wild <mwild1@gmail.com>
date Thu, 11 Aug 2022 17:49:33 +0100
parents 2ad35f08bd57
children
line wrap: on
line source

local st = require "util.stanza";

local omemo_namespace_prefix = "eu.siacs.conversations.axolotl."

module:hook("iq/bare/http://jabber.org/protocol/pubsub:pubsub", function (event)
	local origin, stanza = event.origin, event.stanza;

	local node = stanza.tags[1].tags[1].attr.node;
	if node and node:sub(1, #omemo_namespace_prefix) == omemo_namespace_prefix then
		origin.send(st.error_reply(stanza, "cancel", "item-not-found", "OMEMO is disabled"));
		return true;
	end
end, 10);