Mercurial > prosody-modules
annotate mod_block_subscribes/mod_block_subscribes.lua @ 4210:a0937b5cfdcb
mod_invites_page: Remove preauth URI button
This button is incompatible with the majority of XMPP clients around, yet based
on feedback from users, many are drawn to click it when they have any XMPP client
installed already.
In the case where the user already has software installed, we would prefer them to
select it from the software list so they can follow the setup process suited to
their specific client (we already track which software supports preauth URIs). If
their client is not listed, they can still use the manual registration link instead.
author | Matthew Wild <mwild1@gmail.com> |
---|---|
date | Fri, 16 Oct 2020 11:03:38 +0100 |
parents | f88381a39c56 |
children |
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 |