Diff

mod_deny_omemo/mod_deny_omemo.lua @ 3053:2ad35f08bd57

mod_deny_omemo: Prevents publishing and retreival of OMEMO PEP nodes
author Kim Alvefur <zash@zash.se>
date Mon, 28 May 2018 14:44:53 +0200
line wrap: on
line diff
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/mod_deny_omemo/mod_deny_omemo.lua	Mon May 28 14:44:53 2018 +0200
@@ -0,0 +1,13 @@
+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);