Software /
code /
prosody-modules
File
mod_block_s2s_subscriptions/mod_block_s2s_subscriptions.lua @ 4646:072d078be095
mod_storage_xmlarchive: Advertise capabilities (none atm)
Both 'total' and 'quota' would be prohibitively expensive for the kind
of archives this module targets as it would require counting items
across the entire archive.
author | Kim Alvefur <zash@zash.se> |
---|---|
date | Fri, 13 Aug 2021 01:18:32 +0200 |
parent | 775:70ff25db37fa |
line wrap: on
line source
local jid_split = require "util.jid".split; local jid_bare = require "util.jid".bare; local load_roster = require "core.rostermanager".load_roster; local blocked_servers = module:get_option_set("block_s2s_subscriptions")._items; function filter_presence(event) if blocked_servers[event.origin.from_host] and event.stanza.attr.type == "subscribe" then local stanza = event.stanza; local to_user, to_host = jid_split(stanza.attr.to); local roster = load_roster(to_user, to_host); if roster and roster[jid_bare(stanza.attr.from)] then return; -- In roster, pass through end return true; -- Drop end end module:hook("presence/bare", filter_presence, 200); -- Client receiving