annotate mod_deny_omemo/mod_deny_omemo.lua @ 5295:98d5acb93439

mod_authz_delegate: make resistant against startup order issues There is no guarantee that the target_host gets activated and initialized before the host this module is loaded on. As add_default_permission is called during load time by many modules, we need to be prepared to queue stuff.
author Jonas Schäfer <jonas@wielicki.name>
date Fri, 31 Mar 2023 16:56:42 +0200
parents 2ad35f08bd57
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
3053
2ad35f08bd57 mod_deny_omemo: Prevents publishing and retreival of OMEMO PEP nodes
Kim Alvefur <zash@zash.se>
parents:
diff changeset
1 local st = require "util.stanza";
2ad35f08bd57 mod_deny_omemo: Prevents publishing and retreival of OMEMO PEP nodes
Kim Alvefur <zash@zash.se>
parents:
diff changeset
2
2ad35f08bd57 mod_deny_omemo: Prevents publishing and retreival of OMEMO PEP nodes
Kim Alvefur <zash@zash.se>
parents:
diff changeset
3 local omemo_namespace_prefix = "eu.siacs.conversations.axolotl."
2ad35f08bd57 mod_deny_omemo: Prevents publishing and retreival of OMEMO PEP nodes
Kim Alvefur <zash@zash.se>
parents:
diff changeset
4
2ad35f08bd57 mod_deny_omemo: Prevents publishing and retreival of OMEMO PEP nodes
Kim Alvefur <zash@zash.se>
parents:
diff changeset
5 module:hook("iq/bare/http://jabber.org/protocol/pubsub:pubsub", function (event)
2ad35f08bd57 mod_deny_omemo: Prevents publishing and retreival of OMEMO PEP nodes
Kim Alvefur <zash@zash.se>
parents:
diff changeset
6 local origin, stanza = event.origin, event.stanza;
2ad35f08bd57 mod_deny_omemo: Prevents publishing and retreival of OMEMO PEP nodes
Kim Alvefur <zash@zash.se>
parents:
diff changeset
7
2ad35f08bd57 mod_deny_omemo: Prevents publishing and retreival of OMEMO PEP nodes
Kim Alvefur <zash@zash.se>
parents:
diff changeset
8 local node = stanza.tags[1].tags[1].attr.node;
2ad35f08bd57 mod_deny_omemo: Prevents publishing and retreival of OMEMO PEP nodes
Kim Alvefur <zash@zash.se>
parents:
diff changeset
9 if node and node:sub(1, #omemo_namespace_prefix) == omemo_namespace_prefix then
2ad35f08bd57 mod_deny_omemo: Prevents publishing and retreival of OMEMO PEP nodes
Kim Alvefur <zash@zash.se>
parents:
diff changeset
10 origin.send(st.error_reply(stanza, "cancel", "item-not-found", "OMEMO is disabled"));
2ad35f08bd57 mod_deny_omemo: Prevents publishing and retreival of OMEMO PEP nodes
Kim Alvefur <zash@zash.se>
parents:
diff changeset
11 return true;
2ad35f08bd57 mod_deny_omemo: Prevents publishing and retreival of OMEMO PEP nodes
Kim Alvefur <zash@zash.se>
parents:
diff changeset
12 end
2ad35f08bd57 mod_deny_omemo: Prevents publishing and retreival of OMEMO PEP nodes
Kim Alvefur <zash@zash.se>
parents:
diff changeset
13 end, 10);