Mercurial > prosody-modules
diff mod_admin_blocklist/mod_admin_blocklist.lua @ 5017:96e83b4a93f7
mod_admin_blocklist: Add config option for which role(s) to consider (0.12+)
Fixes that in trunk, a "prosody:operator" (formerly a global admin) is
not considered a "prosody:admin", so those were not included in the set.
author | Kim Alvefur <zash@zash.se> |
---|---|
date | Sat, 27 Aug 2022 16:36:22 +0200 |
parents | 964de9997552 |
children |
line wrap: on
line diff
--- a/mod_admin_blocklist/mod_admin_blocklist.lua Sat Aug 27 15:39:38 2022 +0200 +++ b/mod_admin_blocklist/mod_admin_blocklist.lua Sat Aug 27 16:36:22 2022 +0200 @@ -2,7 +2,7 @@ -- -- If a local admin has blocked a domain, don't allow s2s to that domain -- --- Copyright (C) 2015-2021 Kim Alvefur +-- Copyright (C) 2015-2022 Kim Alvefur -- -- This file is MIT/X11 licensed. -- @@ -17,7 +17,12 @@ local admins; if usermanager.get_jids_with_role then local set = require "util.set"; - admins = set.new(usermanager.get_jids_with_role("prosody:admin", module.host)); + local include_roles = module:get_option_set("admin_blocklist_roles", { "prosody:operator"; "prosody:admin" }); + + admins = set.new(); + for role in include_roles do + admins:include(set.new(usermanager.get_jids_with_role(role, module.host))); + end else -- COMPAT w/pre-0.12 admins = module:get_option_inherited_set("admins", {}); end