summaryrefslogtreecommitdiffstats
path: root/lib/roles.lua
diff options
context:
space:
mode:
Diffstat (limited to 'lib/roles.lua')
-rw-r--r--lib/roles.lua6
1 files changed, 4 insertions, 2 deletions
diff --git a/lib/roles.lua b/lib/roles.lua
index 059ef59..9d89f0c 100644
--- a/lib/roles.lua
+++ b/lib/roles.lua
@@ -139,7 +139,6 @@ local determine_perms = function(self,roles)
for x,file in ipairs(rolesfiles) do
local prefix = string.match(file, "(/[^/]+/)[^/]+$") or "/"
- permissions[prefix] = permissions[prefix] or {}
f = fs.read_file_as_array(file) or {}
for y,line in pairs(f) do
if reverseroles[string.match(line,"^[%w_]+")] then
@@ -148,6 +147,9 @@ local determine_perms = function(self,roles)
-- we'll allow for : or / to not break old format
local control,action = string.match(perm,"([%w_]+)[:/]([%w_]+)")
if control then
+ if nil == permissions[prefix] then
+ permissions[prefix] = {}
+ end
if nil == permissions[prefix][control] then
permissions[prefix][control] = {}
end
@@ -182,7 +184,7 @@ local determine_perms = function(self,roles)
end
end
end
-
+
return permissions, permissions_array, default_permissions_array
end