summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--tinydns-controller.lua50
-rw-r--r--tinydns-model.lua48
2 files changed, 51 insertions, 47 deletions
diff --git a/tinydns-controller.lua b/tinydns-controller.lua
index cd623b3..9af5d36 100644
--- a/tinydns-controller.lua
+++ b/tinydns-controller.lua
@@ -1,55 +1,55 @@
-module(..., package.seeall)
+local mymodule = {}
validator = require("acf.validator")
-mvc = {}
-mvc.on_load = function(self, parent)
+mymodule.mvc = {}
+mymodule.mvc.on_load = function(self, parent)
self.model.set_processname(string.match(self.conf.prefix, "[^/]+"))
end
-default_action = "status"
+mymodule.default_action = "status"
-function status(self)
+function mymodule.status(self)
return self.model.getstatus()
end
-function view(self)
- return self.model.getconfigobjects(self, self.clientdata.filename, sessiondata.userinfo.userid)
+function mymodule.view(self)
+ return self.model.getconfigobjects(self, self.clientdata.filename, self.sessiondata.userinfo.userid)
end
-function startstop(self)
+function mymodule.startstop(self)
return self.handle_form(self, self.model.get_startstop, self.model.startstop_service, self.clientdata)
end
-function config(self)
+function mymodule.config(self)
return self.handle_form(self, self.model.getconfig, self.model.setconfig, self.clientdata, "Save", "Edit Configuration", "Configuration Saved")
end
-function newfile(self)
+function mymodule.newfile(self)
return self.handle_form(self, self.model.getnewconfigfile, function(self, value)
- return self.model.createconfigfile(self, value, sessiondata.userinfo.userid)
+ return self.model.createconfigfile(self, value, self.sessiondata.userinfo.userid)
end, self.clientdata, "Create", "Create New Config File", "Config File Created")
end
-function listfiles(self)
- local configfiles = self.model.getfilelist(self, sessiondata.userinfo.userid)
+function mymodule.listfiles(self)
+ local configfiles = self.model.getfilelist(self, self.sessiondata.userinfo.userid)
local config = {}
for k,v in pairs(configfiles.value) do
- local filedetails = self.model.get_filedetails(self, v, sessiondata.userinfo.userid)
+ local filedetails = self.model.get_filedetails(self, v, self.sessiondata.userinfo.userid)
table.insert(config,filedetails)
end
return cfe({ type="list", value=config, label="Config files" })
end
-function edit(self)
- return editfile(self)
+function mymodule.edit(self)
+ return mymodule.editfile(self)
end
-function editfile(self)
+function mymodule.editfile(self)
config = self.handle_form(self, function()
- return self.model.get_filedetails(self, self.clientdata.filename, sessiondata.userinfo.userid)
+ return self.model.get_filedetails(self, self.clientdata.filename, self.sessiondata.userinfo.userid)
end, function(self, value)
- return self.model.set_filedetails(self, value, sessiondata.userinfo.userid)
+ return self.model.set_filedetails(self, value, self.sessiondata.userinfo.userid)
end, self.clientdata, "Save", "Edit Config File", "Config File Saved")
if self.clientdata.linenumber and validator.is_integer(self.clientdata.linenumber) then
@@ -58,22 +58,24 @@ function editfile(self)
return config
end
-function delete(self)
- return self.handle_form(self, self.model.get_remove_file, function(self, value) return self.model.remove_file(self, value, sessiondata.userinfo.userid) end, self.clientdata, "Delete", "Delete Config File", "Config File deleted")
+function mymodule.delete(self)
+ return self.handle_form(self, self.model.get_remove_file, function(self, value) return self.model.remove_file(self, value, self.sessiondata.userinfo.userid) end, self.clientdata, "Delete", "Delete Config File", "Config File deleted")
end
-function listpermissions(self)
+function mymodule.listpermissions(self)
return self.model:getpermissionslist()
end
-function edituserpermissions(self)
+function mymodule.edituserpermissions(self)
return self.handle_form(self, function()
return self.model:getuserpermissions(self.clientdata.userid)
end, self.model.setuserpermissions, self.clientdata, "Save", "Edit User Permissions", "User permissions set")
end
-function editrolepermissions(self)
+function mymodule.editrolepermissions(self)
return self.handle_form(self, function()
return self.model:getrolepermissions(self.clientdata.role)
end, self.model.setrolepermissions, self.clientdata, "Save", "Edit Role Permissions", "Role permissions set")
end
+
+return mymodule
diff --git a/tinydns-model.lua b/tinydns-model.lua
index 1ef3bac..b44d45a 100644
--- a/tinydns-model.lua
+++ b/tinydns-model.lua
@@ -1,4 +1,4 @@
-module(..., package.seeall)
+local mymodule = {}
-- Load libraries
modelfunctions = require("modelfunctions")
@@ -49,7 +49,7 @@ local descr = {
},
}
-function set_processname(p)
+function mymodule.set_processname(p)
processname = p
configfile = "/etc/conf.d/" .. processname
configdir = "/etc/"..processname
@@ -158,16 +158,16 @@ end
-- ################################################################################
-- PUBLIC FUNCTIONS
-function get_startstop(self, clientdata)
+function mymodule.get_startstop(self, clientdata)
return modelfunctions.get_startstop(processname)
end
-function startstop_service(self, startstop, action)
+function mymodule.startstop_service(self, startstop, action)
return modelfunctions.startstop_service(startstop, action)
end
-- Present some general status
-function getstatus()
+function mymodule.getstatus()
local status = modelfunctions.getstatus(processname, packagename, "TinyDNS Status")
status.value.configdir = cfe({
@@ -175,13 +175,13 @@ function getstatus()
value=configdir,
})
- local config = getconfig()
+ local config = mymodule.getconfig()
status.value.listen = config.value.listen
return status
end
-function getconfig()
+function mymodule.getconfig()
local config = {}
local listenaddr = format.parse_ini_file(fs.read_file(configfile) or "","","IP") or ""
@@ -197,7 +197,7 @@ function getconfig()
return cfe({ type="group", value=config, label="TinyDNS Configuration" })
end
-function setconfig(self, conf)
+function mymodule.setconfig(self, conf)
local test, errtxt = validator.is_ipv4(conf.value.listen.value)
if not test then
conf.value.listen.errtxt = errtxt
@@ -211,7 +211,7 @@ end
-- If you enter 'filter_type' (this should be one of the options found in local function check_signs() ) then
-- the output will be filtered to only contain this type of data.
-function getconfigobjects(self, file_name, userid, filter_type)
+function mymodule.getconfigobjects(self, file_name, userid, filter_type)
configfiles = searchforconfigfiles(self, userid)
local configobjects = {}
--Loop through all available configfiles
@@ -269,28 +269,28 @@ function getconfigobjects(self, file_name, userid, filter_type)
return cfe({ type="structure", value=configobjects, label="DNS Entries", filename=file_name, fieldlabels=descr.fieldlabels })
end
-function getfilelist(self, userid)
+function mymodule.getfilelist(self, userid)
configfiles = searchforconfigfiles(self, userid)
return cfe({ type="list", value=configfiles, label="List of config files" })
end
-function get_filedetails(self, path, userid)
+function mymodule.get_filedetails(self, path, userid)
configfiles = searchforconfigfiles(self, userid)
return modelfunctions.getfiledetails(path, validfilename)
end
-function set_filedetails (self, filedetails, userid)
+function mymodule.set_filedetails (self, filedetails, userid)
configfiles = searchforconfigfiles(self, userid)
return modelfunctions.setfiledetails(self, filedetails, validfilename)
end
-function getnewconfigfile()
+function mymodule.getnewconfigfile()
local options = {}
options.filename = cfe({ label="File Name" })
return cfe({ type="group", value=options, label="New config file" })
end
-function createconfigfile(self, configfile, userid)
+function mymodule.createconfigfile(self, configfile, userid)
configfile.errtxt = "Failed to create file"
local path = configfile.value.filename.value
if not string.find(path, "/") then
@@ -306,9 +306,9 @@ function createconfigfile(self, configfile, userid)
-- We have to add this file to the allowed list, if there is one
local allowed = getallowedlist(self, userid)
if #allowed > 0 then
- local perm = getuserpermissions(self, userid)
+ local perm = mymodule.getuserpermissions(self, userid)
perm.value.allowed.value[#perm.value.allowed.value + 1] = path
- setuserpermissions(self, perm)
+ mymodule.setuserpermissions(self, perm)
end
end
else
@@ -318,13 +318,13 @@ function createconfigfile(self, configfile, userid)
return configfile
end
-function get_remove_file(self, clientdata)
+function mymodule.get_remove_file(self, clientdata)
local retval = {}
retval.filename = cfe({ value=clientdata.filename or "", label="File Name" })
return cfe({ type="group", value=retval, label="Delete Config File" })
end
-function remove_file(self, delfile, userid)
+function mymodule.remove_file(self, delfile, userid)
local path = delfile.value.filename.value
configfiles = searchforconfigfiles(self, userid)
delfile.errtxt = "Failed to delete file"
@@ -339,7 +339,7 @@ function remove_file(self, delfile, userid)
return delfile
end
-function getpermissionslist(self)
+function mymodule.getpermissionslist(self)
local auth = authenticator.get_subauth(self)
local users = authenticator.list_users(self)
local userlist = {}
@@ -388,7 +388,7 @@ local function validaterolepermissions(self, rolepermissions)
return success, rolepermissions
end
-function getuserpermissions(self, userid)
+function mymodule.getuserpermissions(self, userid)
local allowedlist = {}
local auth = authenticator.get_subauth(self)
local entry = auth.read_entry(self, authenticator.usertable, self.conf.prefix..self.conf.controller, userid) or ""
@@ -406,7 +406,7 @@ function getuserpermissions(self, userid)
return output
end
-function setuserpermissions(self, userpermissions)
+function mymodule.setuserpermissions(self, userpermissions)
local success, userpermissions = validateuserpermissions(self, userpermissions)
if success then
@@ -418,7 +418,7 @@ function setuserpermissions(self, userpermissions)
return userpermissions
end
-function getrolepermissions(self, role)
+function mymodule.getrolepermissions(self, role)
local allowedlist = {}
local auth = authenticator.get_subauth(self)
local entry = auth.read_entry(self, authenticator.roletable, self.conf.prefix..self.conf.controller, role) or ""
@@ -436,7 +436,7 @@ function getrolepermissions(self, role)
return output
end
-function setrolepermissions(self, rolepermissions)
+function mymodule.setrolepermissions(self, rolepermissions)
local success, rolepermissions = validaterolepermissions(self, rolepermissions)
if success then
@@ -447,3 +447,5 @@ function setrolepermissions(self, rolepermissions)
end
return rolepermissions
end
+
+return mymodule