view mod_deny_omemo/mod_deny_omemo.lua @ 5440:82a14082be3f

mod_auth_oauth_external: Allow different username in PLAIN vs final JID Mastodon for example having email addresses usernames in login, but a different username in the service itself. Thanks to @tcit@social.tcit.fr for the pointer to a usable validation endpoint for Mastodon, allowing this to be tested.
author Kim Alvefur <zash@zash.se>
date Wed, 10 May 2023 13:52:31 +0200
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);