Mercurial > prosody-modules
diff mod_firewall/mod_firewall.lua @ 5008:bd63feda3704
Merge role-auth
author | Matthew Wild <mwild1@gmail.com> |
---|---|
date | Mon, 22 Aug 2022 15:39:02 +0100 |
parents | 84997bc3f92e |
children | 8474a3b80200 |
line wrap: on
line diff
--- a/mod_firewall/mod_firewall.lua Tue Aug 16 13:10:39 2022 +0200 +++ b/mod_firewall/mod_firewall.lua Mon Aug 22 15:39:02 2022 +0100 @@ -6,6 +6,9 @@ local it = require "util.iterators"; local set = require "util.set"; +local have_features, features = pcall(require, "core.features"); +features = have_features and features.available or set.new(); + -- [definition_type] = definition_factory(param) local definitions = module:shared("definitions"); @@ -181,7 +184,8 @@ group_contains = { global_code = [[local group_contains = module:depends("groups").group_contains]]; }; - is_admin = { global_code = [[local is_admin = require "core.usermanager".is_admin;]]}; + is_admin = features:contains("permissions") and { global_code = [[local is_admin = require "core.usermanager".is_admin;]]} or nil; + get_jid_role = require "core.usermanager".get_jid_role and { global_code = [[local get_jid_role = require "core.usermanager".get_jid_role;]] } or nil; core_post_stanza = { global_code = [[local core_post_stanza = prosody.core_post_stanza;]] }; zone = { global_code = function (zone) local var = zone;