mod_admin_blocklist/mod_admin_blocklist.lua
changeset 4809 683d1ad16b56
parent 2317 5d05139d0555
child 5020 964de9997552
equal deleted inserted replaced
4808:a7c0c70e64b6 4809:683d1ad16b56
     1 -- mod_admin_blocklist
     1 -- mod_admin_blocklist
     2 --
     2 --
     3 -- If a local admin has blocked a domain, don't allow s2s to that domain
     3 -- If a local admin has blocked a domain, don't allow s2s to that domain
     4 --
     4 --
     5 -- Copyright (C) 2015 Kim Alvefur
     5 -- Copyright (C) 2015-2021 Kim Alvefur
     6 --
     6 --
     7 -- This file is MIT/X11 licensed.
     7 -- This file is MIT/X11 licensed.
     8 --
     8 --
     9 
     9 
    10 module:depends("blocklist");
    10 module:depends("blocklist");
    11 
    11 
    12 local st = require"util.stanza";
    12 local st = require"util.stanza";
    13 local jid_split = require"util.jid".split;
    13 local jid_split = require"util.jid".split;
    14 
    14 
    15 local admins = module:get_option_inherited_set("admins", {}) /
    15 local usermanager = require "core.usermanager";
       
    16 
       
    17 local admins;
       
    18 if usermanager.get_jids_with_role then
       
    19 	local set = require "util.set";
       
    20 	admins = set.new(usermanager.get_jids_with_role("prosody:admin"), module.host);
       
    21 else -- COMPAT w/pre-0.12
       
    22 	admins = module:get_option_inherited_set("admins", {});
       
    23 end
       
    24 admins = admins /
    16 	function (admin) -- Filter out non-local admins
    25 	function (admin) -- Filter out non-local admins
    17 		local user, host = jid_split(admin);
    26 		local user, host = jid_split(admin);
    18 		if host == module.host then return user; end
    27 		if host == module.host then return user; end
    19 	end
    28 	end
    20 
    29