annotate mod_block_subscriptions/mod_block_subscriptions.lua @ 5448:9d542e86e19a

mod_http_oauth2: Allow requesting a subset of scopes on token refresh This enables clients to request access tokens with fewer permissions than the grant they were given, reducing impact of token leak. Clients could e.g. request access tokens with some privileges and immediately revoke them after use, or other strategies.
author Kim Alvefur <zash@zash.se>
date Thu, 11 May 2023 21:40:09 +0200
parents 107eb83aa732
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
773
107eb83aa732 mod_block_subscriptions: Block incoming and outgoing presence subscriptions (useful in conjunction with mod_readonly)
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
1 local allowed_presence_types = { probe = true, unavailable = true };
107eb83aa732 mod_block_subscriptions: Block incoming and outgoing presence subscriptions (useful in conjunction with mod_readonly)
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
2
107eb83aa732 mod_block_subscriptions: Block incoming and outgoing presence subscriptions (useful in conjunction with mod_readonly)
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
3 function filter_presence(event)
107eb83aa732 mod_block_subscriptions: Block incoming and outgoing presence subscriptions (useful in conjunction with mod_readonly)
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
4 local stanza = event.stanza;
107eb83aa732 mod_block_subscriptions: Block incoming and outgoing presence subscriptions (useful in conjunction with mod_readonly)
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
5 local presence_type = stanza.attr.type;
107eb83aa732 mod_block_subscriptions: Block incoming and outgoing presence subscriptions (useful in conjunction with mod_readonly)
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
6 if presence_type == nil or allowed_presence_types[presence_type] then
107eb83aa732 mod_block_subscriptions: Block incoming and outgoing presence subscriptions (useful in conjunction with mod_readonly)
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
7 return;
107eb83aa732 mod_block_subscriptions: Block incoming and outgoing presence subscriptions (useful in conjunction with mod_readonly)
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
8 end
107eb83aa732 mod_block_subscriptions: Block incoming and outgoing presence subscriptions (useful in conjunction with mod_readonly)
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
9 return true; -- Drop
107eb83aa732 mod_block_subscriptions: Block incoming and outgoing presence subscriptions (useful in conjunction with mod_readonly)
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
10 end
107eb83aa732 mod_block_subscriptions: Block incoming and outgoing presence subscriptions (useful in conjunction with mod_readonly)
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
11
107eb83aa732 mod_block_subscriptions: Block incoming and outgoing presence subscriptions (useful in conjunction with mod_readonly)
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
12 module:hook("pre-presence/bare", filter_presence, 200); -- Client sending
107eb83aa732 mod_block_subscriptions: Block incoming and outgoing presence subscriptions (useful in conjunction with mod_readonly)
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
13 module:hook("presence/bare", filter_presence, 200); -- Client receiving