summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--tinydns-model.lua7
-rw-r--r--tinydns.roles6
2 files changed, 8 insertions, 5 deletions
diff --git a/tinydns-model.lua b/tinydns-model.lua
index dcbe9da..006e672 100644
--- a/tinydns-model.lua
+++ b/tinydns-model.lua
@@ -7,6 +7,7 @@ require("format")
require("validator")
require("authenticator")
require("roles")
+require("posix")
-- Set variables
local configfiles = {}
@@ -100,8 +101,8 @@ local function getallowedlist(self, userid)
-- also check to see if there are allowed files for this user's roles
local rols = authenticator.get_userinfo_roles(self, userid)
- -- add in the ALL role
- rols.value[#rols.value + 1] = "ALL"
+ -- add in the guest role
+ rols.value[#rols.value + 1] = roles.guest_role
for i,role in ipairs(rols.value) do
local entry = authenticator.auth.read_entry(self, authenticator.roletable, "tinydns", role) or ""
for x in string.gmatch(entry, "([^,]+),?") do allowedlist[#allowedlist + 1] = x end
@@ -280,7 +281,7 @@ function createconfigfile(self, configfile, userid)
path = configdir .. "/" .. path
end
if validator.is_valid_filename(path,configdir) then
- if (fs.is_file(path)) then
+ if (posix.stat(path)) then
configfile.value.filename.errtxt = "File already exists"
else
local file = io.open(path, "w")
diff --git a/tinydns.roles b/tinydns.roles
index 7872dc7..c9503c1 100644
--- a/tinydns.roles
+++ b/tinydns.roles
@@ -1,2 +1,4 @@
-READ=tinydns:status,tinydns:view
-UPDATE=tinydns:config,tinydns:listfiles,tinydns:delete,tinydns:edit,tinydns:editfile,tinydns:newfile,tinydns:startstop,tinydns:listpermissions,tinydns:edituserpermissions,tinydns:editrolepermissions
+USER=tinydns:status,tinydns:view,tinydns:listfiles,tinydns:startstop
+EDITOR=tinydns:config,tinydns:delete,tinydns:edit,tinydns:newfile
+EXPERT=tinydns:editfile
+ADMIN=tinydns:status,tinydns:view,tinydns:listfiles,tinydns:startstop,tinydns:config,tinydns:delete,tinydns:edit,tinydns:newfile,tinydns:editfile,tinydns:listpermissions,tinydns:edituserpermissions,tinydns:editrolepermissions