Annotate

mod_block_subscribes/mod_block_subscribes.lua @ 5174:354832098f2f

mod_muc_rtbl: move use of "private" attributes to single function This way, we reduce the scope where you can have a typo in the attribute name to that function and we encourage users to actually always call update_hashes.
author Jonas Schäfer <jonas@wielicki.name>
date Tue, 21 Feb 2023 21:41:19 +0100
parent 926:f88381a39c56
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
926
f88381a39c56 mod_block_subscribes: Block inbound and outbound subscription requests (useful to prevent implicit roster modification)
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
1 local allowed_presence_types = { probe = true, unavailable = true };
f88381a39c56 mod_block_subscribes: Block inbound and outbound subscription requests (useful to prevent implicit roster modification)
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
2
f88381a39c56 mod_block_subscribes: Block inbound and outbound subscription requests (useful to prevent implicit roster modification)
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
3 function filter_presence(event)
f88381a39c56 mod_block_subscribes: Block inbound and outbound subscription requests (useful to prevent implicit roster modification)
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
4 local stanza = event.stanza;
f88381a39c56 mod_block_subscribes: Block inbound and outbound subscription requests (useful to prevent implicit roster modification)
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
5 local presence_type = stanza.attr.type;
f88381a39c56 mod_block_subscribes: Block inbound and outbound subscription requests (useful to prevent implicit roster modification)
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
6 if presence_type == nil or allowed_presence_types[presence_type] then
f88381a39c56 mod_block_subscribes: Block inbound and outbound subscription requests (useful to prevent implicit roster modification)
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
7 return;
f88381a39c56 mod_block_subscribes: Block inbound and outbound subscription requests (useful to prevent implicit roster modification)
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
8 end
f88381a39c56 mod_block_subscribes: Block inbound and outbound subscription requests (useful to prevent implicit roster modification)
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
9 return true; -- Drop
f88381a39c56 mod_block_subscribes: Block inbound and outbound subscription requests (useful to prevent implicit roster modification)
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
10 end
f88381a39c56 mod_block_subscribes: Block inbound and outbound subscription requests (useful to prevent implicit roster modification)
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
11
f88381a39c56 mod_block_subscribes: Block inbound and outbound subscription requests (useful to prevent implicit roster modification)
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
12 module:hook("pre-presence/bare", filter_presence, 200); -- Client sending
f88381a39c56 mod_block_subscribes: Block inbound and outbound subscription requests (useful to prevent implicit roster modification)
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
13 module:hook("presence/bare", filter_presence, 200); -- Client receiving