Software /
code /
prosody-modules
File
mod_muc_restrict_avatars/mod_muc_restrict_avatars.lua @ 5840:7905766d01f6
mod_pubsub_serverinfo: Treat public providers as public
The opt-in mechanism is to prevent leaking domain names or relationships
between small private servers. These are not considerations relevant to
public servers.
We use the providers.xmpp.net API to fetch a list of known public provider
domains.
author | Matthew Wild <mwild1@gmail.com> |
---|---|
date | Mon, 08 Jan 2024 15:56:11 +0000 |
parent | 5672:2c69577b28c2 |
child | 5905:66e7d46b1d4b |
line wrap: on
line source
local bare_jid = require"util.jid".bare; local mod_muc = module:depends("muc"); local function filter_avatar_advertisement(tag) if tag.attr.xmlns == "vcard-temp:x:update" then return nil; end return tag; end module:hook("presence/full", function(event) local stanza = event.stanza; local room = mod_muc.get_room_from_jid(bare_jid(stanza.attr.to)); if not room:get_affiliation(stanza.attr.from) then stanza:maptags(filter_avatar_advertisement); end end, 1);