Annotate

mod_unsubscriber/mod_unsubscriber.lua @ 6325:6ea80b73d8f2

mod_http_oauth2: Only require redirect URIs when using grant types that need it In the Device flow, no redirect URI is used because the client instead receives responses by polling. It is therefore unnecessary to enforce a requirement that these include redirect URI(s).
author Kim Alvefur <zash@zash.se>
date Thu, 03 Jul 2025 15:42:42 +0200
parent 5168:e00dc913d965
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
5168
e00dc913d965 mod_unsubscriber: Revoke roster subscriptions of unreachable hosts
Kim Alvefur <zash@zash.se>
parents:
diff changeset
1 assert(module:get_host_type() == "component", "This module should be loaded as a Component");
e00dc913d965 mod_unsubscriber: Revoke roster subscriptions of unreachable hosts
Kim Alvefur <zash@zash.se>
parents:
diff changeset
2
e00dc913d965 mod_unsubscriber: Revoke roster subscriptions of unreachable hosts
Kim Alvefur <zash@zash.se>
parents:
diff changeset
3 local st = require "util.stanza";
e00dc913d965 mod_unsubscriber: Revoke roster subscriptions of unreachable hosts
Kim Alvefur <zash@zash.se>
parents:
diff changeset
4
e00dc913d965 mod_unsubscriber: Revoke roster subscriptions of unreachable hosts
Kim Alvefur <zash@zash.se>
parents:
diff changeset
5 module:hook("presence/bare", function(event)
e00dc913d965 mod_unsubscriber: Revoke roster subscriptions of unreachable hosts
Kim Alvefur <zash@zash.se>
parents:
diff changeset
6 local origin, stanza = event.origin, event.stanza;
e00dc913d965 mod_unsubscriber: Revoke roster subscriptions of unreachable hosts
Kim Alvefur <zash@zash.se>
parents:
diff changeset
7 if stanza.attr.type == "probe" then
e00dc913d965 mod_unsubscriber: Revoke roster subscriptions of unreachable hosts
Kim Alvefur <zash@zash.se>
parents:
diff changeset
8 -- they are subscribed and want our current presence
e00dc913d965 mod_unsubscriber: Revoke roster subscriptions of unreachable hosts
Kim Alvefur <zash@zash.se>
parents:
diff changeset
9 -- tell them we denied their subscription
e00dc913d965 mod_unsubscriber: Revoke roster subscriptions of unreachable hosts
Kim Alvefur <zash@zash.se>
parents:
diff changeset
10 local reply = st.reply(stanza)
e00dc913d965 mod_unsubscriber: Revoke roster subscriptions of unreachable hosts
Kim Alvefur <zash@zash.se>
parents:
diff changeset
11 reply.attr.type = "unsubcribed";
e00dc913d965 mod_unsubscriber: Revoke roster subscriptions of unreachable hosts
Kim Alvefur <zash@zash.se>
parents:
diff changeset
12 origin.send(reply);
e00dc913d965 mod_unsubscriber: Revoke roster subscriptions of unreachable hosts
Kim Alvefur <zash@zash.se>
parents:
diff changeset
13 return true;
e00dc913d965 mod_unsubscriber: Revoke roster subscriptions of unreachable hosts
Kim Alvefur <zash@zash.se>
parents:
diff changeset
14 elseif stanza.attr.type == nil then
e00dc913d965 mod_unsubscriber: Revoke roster subscriptions of unreachable hosts
Kim Alvefur <zash@zash.se>
parents:
diff changeset
15 -- they think we are subscribed and sent their current presence
e00dc913d965 mod_unsubscriber: Revoke roster subscriptions of unreachable hosts
Kim Alvefur <zash@zash.se>
parents:
diff changeset
16 -- tell them we unsubscribe
e00dc913d965 mod_unsubscriber: Revoke roster subscriptions of unreachable hosts
Kim Alvefur <zash@zash.se>
parents:
diff changeset
17 local reply = st.reply(stanza)
e00dc913d965 mod_unsubscriber: Revoke roster subscriptions of unreachable hosts
Kim Alvefur <zash@zash.se>
parents:
diff changeset
18 reply.attr.type = "unsubcribe";
e00dc913d965 mod_unsubscriber: Revoke roster subscriptions of unreachable hosts
Kim Alvefur <zash@zash.se>
parents:
diff changeset
19 origin.send(reply);
e00dc913d965 mod_unsubscriber: Revoke roster subscriptions of unreachable hosts
Kim Alvefur <zash@zash.se>
parents:
diff changeset
20 return true;
e00dc913d965 mod_unsubscriber: Revoke roster subscriptions of unreachable hosts
Kim Alvefur <zash@zash.se>
parents:
diff changeset
21 end
e00dc913d965 mod_unsubscriber: Revoke roster subscriptions of unreachable hosts
Kim Alvefur <zash@zash.se>
parents:
diff changeset
22 -- fall trough to default error
e00dc913d965 mod_unsubscriber: Revoke roster subscriptions of unreachable hosts
Kim Alvefur <zash@zash.se>
parents:
diff changeset
23 end);