Mercurial > prosody-modules
view mod_muc_local_only/mod_muc_local_only.lua @ 5186:fa3059e653fa
mod_http_oauth2: Implement the Implicit flow
Everyone says this is insecure and bad, but it's also the only thing
that makes sense for e.g. pure JavaScript clients, but hey implement
this even more complicated thing instead!
author | Kim Alvefur <zash@zash.se> |
---|---|
date | Thu, 02 Mar 2023 22:06:50 +0100 |
parents | 221b6bee26e2 |
children |
line wrap: on
line source
local jid = require "util.jid"; local st = require "util.stanza"; local local_rooms = module:get_option_inherited_set("muc_local_only", {}); module:hook("muc-occupant-pre-join", function (event) local room = event.room; if not local_rooms:contains(room.jid) then return; -- Not a protected room, ignore end local user_jid = event.occupant.bare_jid; local user_host = jid.host(user_jid); if not prosody.hosts[user_host] then local error_reply = st.error_reply(event.stanza, "cancel", "forbidden", "This group is only available to local users", room.jid); event.origin.send(error_reply); return true; end room:set_affiliation(true, user_jid, "member", "Granting access to local user"); end);