File

plugins/mod_authz_internal.lua @ 11304:c022b582d312

util.startup: Don't create installer plugin path (as root) Since this runs before dropping root, the directory ends up being owned by root, resulting in luarocks failing to install anything, since by then it would be running as the prosody user. luarocks creates this directory if needed, so creating it during startup is not necessary. One potential issue is if the directory is somewhere where Prosody can't write, but then you will simply have to create it yourself with the appropriate permissions.
author Kim Alvefur <zash@zash.se>
date Sun, 24 Jan 2021 15:57:48 +0100
parent 10659:8f95308c3c45
child 11472:c32753ceb0f0
line wrap: on
line source

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)
	if admin_jids:contains(user.."@"..host) then
		return admin_role;
	end
	return role_store:get(user);
end

function get_jid_roles(jid)
	if admin_jids:contains(jid) then
		return admin_role;
	end
	return nil;
end