diff options
Diffstat (limited to 'dhcp-model.lua')
-rw-r--r-- | dhcp-model.lua | 66 |
1 files changed, 34 insertions, 32 deletions
diff --git a/dhcp-model.lua b/dhcp-model.lua index 81c758f..6c34931 100644 --- a/dhcp-model.lua +++ b/dhcp-model.lua @@ -1,6 +1,6 @@ -- acf model for /etc/dhcp/* -- Copyright(c) 2007 A. Brodmann - Licensed under terms of GPL2 -module (..., package.seeall) +local mymodule = {} --- get additional libraries modelfunctions = require("modelfunctions") @@ -397,19 +397,19 @@ 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 -function getstatus () +function mymodule.getstatus () return modelfunctions.getstatus(processname, packagename, "DHCP Status") end -create_new_host = function() +mymodule.create_new_host = function() host = { host = cfe({ label="Host Name", seq=1 }), mac = cfe({ label="MAC Address", seq=2 }), @@ -419,10 +419,10 @@ create_new_host = function() return cfe({ type="group", value=host, label="Host" }) end -host_read = function(self, clientdata) +mymodule.host_read = function(self, clientdata) local name = clientdata.host config = config or parseconfigfile(fs.read_file(configfile) or "") - local host = create_new_host() + local host = mymodule.create_new_host() host.value.host.value = name host.value.host.readonly = true @@ -442,13 +442,13 @@ host_read = function(self, clientdata) return host end -host_update = function(self, host) +mymodule.host_update = function(self, host) local success, host = validate_host( host ) if not host.value.host.errtxt then local previous_success = success success = false host.value.host.errtxt = "This host does not exist" - local hosts = get_hosts() + local hosts = mymodule.get_hosts() for i,ht in ipairs(hosts.value) do if ht == host.value.host.value then success = previous_success @@ -466,10 +466,10 @@ host_update = function(self, host) return host end -host_create = function(self, host) +mymodule.host_create = function(self, host) local success, host = validate_host(host) if not host.value.host.errtxt then - local hosts = get_hosts() + local hosts = mymodule.get_hosts() for i,ht in ipairs(hosts.value) do if ht == host.value.host.value then success = false @@ -487,16 +487,16 @@ host_create = function(self, host) return host end -get_host_delete = function() +mymodule.get_host_delete = function() local host = cfe({ label="Host" }) return cfe({ type="group", value={host=host}, label="Delete Host" }) end -host_delete = function(self, host) +mymodule.host_delete = function(self, host) local file = fs.read_file(configfile) or "" config = config or parseconfigfile(file) local cmdresult = cfe({ value="Failed to delete host - not found", label="Delete host result" }) - local hosts = get_hosts() + local hosts = mymodule.get_hosts() for i,h in ipairs(hosts.value) do if h == host.value.host.value then local start, endd = string.find(file, "host%s*"..replacemagiccharacters(h).."[^{]*{") @@ -512,7 +512,7 @@ host_delete = function(self, host) return cmdresult end -get_hosts = function () +mymodule.get_hosts = function () config = config or parseconfigfile(fs.read_file(configfile) or "") local retval = {} for i,entry in ipairs(config) do @@ -524,7 +524,7 @@ get_hosts = function () return cfe({ type="list", value=retval, label="Host list" }) end -create_new_subnet = function() +mymodule.create_new_subnet = function() net = { subnet = cfe({ label="Subnet", seq=1 }), netmask = cfe({ label="Netmask", seq=2 }), @@ -542,10 +542,10 @@ create_new_subnet = function() return cfe({ type="group", value=net, label="Subnet" }) end -subnet_read = function(self, clientdata) +mymodule.subnet_read = function(self, clientdata) local name = clientdata.subnet config = config or parseconfigfile(fs.read_file(configfile) or "") - local net = create_new_subnet() + local net = mymodule.create_new_subnet() net.value.subnet.value = name net.value.subnet.readonly = true local pools = 0 @@ -608,13 +608,13 @@ subnet_read = function(self, clientdata) return net end -subnet_update = function(self, net) +mymodule.subnet_update = function(self, net) local success, net = validate_subnet( net ) if not net.value.subnet.errtxt then local previous_success = success success = false net.value.subnet.errtxt = "This subnet does not exist" - local subnets = get_subnets() + local subnets = mymodule.get_subnets() for i,subnet in ipairs(subnets.value) do if subnet == net.value.subnet.value then success = previous_success @@ -632,10 +632,10 @@ subnet_update = function(self, net) return net end -subnet_create = function(self, net) +mymodule.subnet_create = function(self, net) local success, net = validate_subnet(net) if not net.value.subnet.errtxt then - local subnets = get_subnets() + local subnets = mymodule.get_subnets() for i,subnet in ipairs(subnets.value) do if subnet == net.value.subnet.value then success = false @@ -653,17 +653,17 @@ subnet_create = function(self, net) return net end -get_subnet_delete = function() +mymodule.get_subnet_delete = function() local subnet = cfe({ label="Subnet" }) return cfe({ type="group", value={subnet=subnet}, label="Delete Subnet" }) end -subnet_delete = function(self, subnet) +mymodule.subnet_delete = function(self, subnet) local file = fs.read_file(configfile) or "" config = config or parseconfigfile(file) subnet.value.subnet.errtxt = "Subnet not found" subnet.errtxt = "Failed to delete subnet" - local subnets = get_subnets() + local subnets = mymodule.get_subnets() for i,s in ipairs(subnets.value) do if s == subnet.value.subnet.value then local start, endd = string.find(file, "subnet%s*"..replacemagiccharacters(s).."%s*netmask[^{]*{") @@ -680,7 +680,7 @@ subnet_delete = function(self, subnet) return subnet end -get_subnets = function () +mymodule.get_subnets = function () config = config or parseconfigfile(fs.read_file(configfile) or "") local retval = {} for i,entry in ipairs(config) do @@ -692,7 +692,7 @@ get_subnets = function () return cfe({ type="list", value=retval, label="Subnet list" }) end -read_settings = function() +mymodule.read_settings = function() config = config or parseconfigfile(fs.read_file(configfile) or "") local settings = {} settings.domainname = cfe({ label="Domain Name", seq=1 }) @@ -719,7 +719,7 @@ read_settings = function() return cfe({ type="group", value=settings, label = "Global settings" }) end -update_settings = function (self, settings) +mymodule.update_settings = function (self, settings) success, settings = validate_settings(settings) if success then local file = fs.read_file(configfile) or "" @@ -787,7 +787,7 @@ update_settings = function (self, settings) return settings end -listconfigfiles = function() +mymodule.listconfigfiles = function() local listed_files = {} for i,name in ipairs(filelist) do local filedetails = fs.stat(name) or {} @@ -798,14 +798,16 @@ listconfigfiles = function() return cfe({ type="list", value=listed_files, label="DHCP File List" }) end -getconfigfile = function(self, clientdata) +mymodule.getconfigfile = function(self, clientdata) return modelfunctions.getfiledetails(clientdata.filename, filelist) end -setconfigfile = function(self, filedetails) +mymodule.setconfigfile = function(self, filedetails) return modelfunctions.setfiledetails(self, filedetails, filelist) end -getleases = function() +mymodule.getleases = function() return modelfunctions.getfiledetails(leasefile) end + +return mymodule |