annotate mod_deny_omemo/mod_deny_omemo.lua @ 4515:2e33eeafe962

mod_muc_markers: Prevent any markers from reaching the archive, even if untracked Original intention was to leave alone things that this module isn't handling. However markers in archives are just problematic without more advanced logic about what is markable and what is not. It also requires a more advanced query in mod_muc_rai to determine the latest markable message instead of the latest archived message. I'd rather keep the "is archivable" and "is markable" definition the same for simplicity. I don't want to introduce yet another set of rules for no reason. No markers in MAM.
author Matthew Wild <mwild1@gmail.com>
date Mon, 22 Mar 2021 15:55:02 +0000
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);