aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMatthew Wild <mwild1@gmail.com>2020-02-23 12:38:43 +0000
committerMatthew Wild <mwild1@gmail.com>2020-02-23 12:38:43 +0000
commit1b136bfe7d3670267f62af9d77a8ae860066b608 (patch)
tree6738a26befa81cb3edabe4f5ce745e9e240e2a4f
parent5fe826e31796743c7ca1042a2f5301880189d3e1 (diff)
downloadprosody-1b136bfe7d3670267f62af9d77a8ae860066b608.tar.gz
prosody-1b136bfe7d3670267f62af9d77a8ae860066b608.zip
usermanager, mod_authz_*: Merge mod_authz_config and mod_authz_internal into the latter
-rw-r--r--core/usermanager.lua2
-rw-r--r--plugins/mod_authz_internal.lua (renamed from plugins/mod_authz_config.lua)8
2 files changed, 8 insertions, 2 deletions
diff --git a/core/usermanager.lua b/core/usermanager.lua
index acdc7909..aced0379 100644
--- a/core/usermanager.lua
+++ b/core/usermanager.lua
@@ -56,7 +56,7 @@ local provider_mt = { __index = new_null_provider() };
local function initialize_host(host)
local host_session = hosts[host];
- local authz_provider_name = config.get(host, "authorization") or "config";
+ local authz_provider_name = config.get(host, "authorization") or "internal";
local authz_mod = modulemanager.load(host, "authz_"..authz_provider_name);
host_session.authz = authz_mod or global_authz_provider;
diff --git a/plugins/mod_authz_config.lua b/plugins/mod_authz_internal.lua
index 41b8d9f0..0f6e4873 100644
--- a/plugins/mod_authz_config.lua
+++ b/plugins/mod_authz_internal.lua
@@ -1,11 +1,15 @@
local normalize = require "util.jid".prep;
local admin_jids = module:get_option_inherited_set("admins", {}) / normalize;
local host = module.host;
+local role_store = module:open_store("roles");
local admin_role = { ["prosody:admin"] = true };
function get_user_roles(user)
- return get_jid_roles(user.."@"..host);
+ if admin_jids:contains(user.."@"..host) then
+ return admin_role;
+ end
+ return role_store:get(user);
end
function get_jid_roles(jid)
@@ -14,3 +18,5 @@ function get_jid_roles(jid)
end
return nil;
end
+
+