Software /
code /
prosody-modules
Annotate
mod_unsubscriber/mod_unsubscriber.lua @ 5491:7842502c1157
mod_http_debug: Log some extended info about requests
If you point something external at this module, you don't get the
response body back, hence it can be useful to see some details in the
log as well.
author | Kim Alvefur <zash@zash.se> |
---|---|
date | Fri, 26 May 2023 15:37:15 +0200 |
parent | 5168:e00dc913d965 |
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); |