summaryrefslogtreecommitdiffstats
path: root/dhcp-controller.lua
diff options
context:
space:
mode:
authorAndreas Brodmann <andreas.brodmann@gmail.com>2007-11-08 23:08:21 +0000
committerAndreas Brodmann <andreas.brodmann@gmail.com>2007-11-08 23:08:21 +0000
commit1d102c4c33c28f3ff6644060511930e8dbd768b0 (patch)
treeeaa9565e2337e2057ce52e129c73cb19871a843b /dhcp-controller.lua
parenta64807c3203df02548d775afada0e315bc4f58b4 (diff)
downloadacf-dhcp-1d102c4c33c28f3ff6644060511930e8dbd768b0.tar.bz2
acf-dhcp-1d102c4c33c28f3ff6644060511930e8dbd768b0.tar.xz
updated /acf/dhcp - subnets are now dynamically looked up
git-svn-id: svn://svn.alpinelinux.org/acf/dhcp@277 ab2d0c66-481e-0410-8bed-d214d4d58bed
Diffstat (limited to 'dhcp-controller.lua')
-rw-r--r--dhcp-controller.lua40
1 files changed, 22 insertions, 18 deletions
diff --git a/dhcp-controller.lua b/dhcp-controller.lua
index c0be37d..8811e86 100644
--- a/dhcp-controller.lua
+++ b/dhcp-controller.lua
@@ -35,6 +35,10 @@ end
editnet = function ( self )
+ if not self.clientdata.cmd then
+ list_redir(self)
+ end
+
local net = {}
local option = { script = ENV["SCRIPT_NAME"],
prefix = self.conf.prefix,
@@ -49,24 +53,23 @@ editnet = function ( self )
end
end
- if self.clientdata.cmd then
- if self.clientdata.cmd == "Update" then
- net = { name = { label="Name", value=self.model.nonil(self.clientdata.name), type="message" },
- defleasetime = { label="Default Lease Time", value=self.model.nonil(self.clientdata.defleasetime), type="text" },
- maxleasetime = { label="Maximum Lease Time", value=self.model.nonil(self.clientdata.maxleasetime), type="text" },
- gateway = { label="Gateway", value=self.model.nonil(self.clientdata.gateway), type="text" },
- domainname = { label="Domainname", value=self.model.nonil(self.clientdata.domainname), type="text" },
- dnssrv1 = { label="DNS Server 1", value=self.model.nonil(self.clientdata.dnssrv1), type="text" },
- dnssrv2 = { label="DNS Server 2", value=self.model.nonil(self.clientdata.dnssrv2), type="text" },
- subnet = { label="Subnet", value=self.model.nonil(self.clientdata.subnet), type="text" },
- netmask = { label="Netmask", value=self.model.nonil(self.clientdata.netmask), type="text" },
- leaserangestart = { label="Lease Range Start", value=self.model.nonil(self.clientdata.leaserangestart), type="text" },
- leaserangeend = { label="Lease Range End", value=self.model.nonil(self.clientdata.leaserangeend), type="text" },
- wpad = { label="Web Proxy Auto Discovery", value=self.model.nonil(self.clientdata.wpad), type="text" }
- }
- self.model.subnet_write( net )
- return ( cfe({ option = option, value = net, error = { value = nil, fields = nil }}) )
- end
+ if self.clientdata.cmd == "Update" then
+ net = { name = { label="Name", value=self.model.nonil(self.clientdata.name), type="message" },
+ defleasetime = { label="Default Lease Time", value=self.model.nonil(self.clientdata.defleasetime), type="text" },
+ maxleasetime = { label="Maximum Lease Time", value=self.model.nonil(self.clientdata.maxleasetime), type="text" },
+ gateway = { label="Gateway", value=self.model.nonil(self.clientdata.gateway), type="text" },
+ domainname = { label="Domainname", value=self.model.nonil(self.clientdata.domainname), type="text" },
+ dnssrv1 = { label="DNS Server 1", value=self.model.nonil(self.clientdata.dnssrv1), type="text" },
+ dnssrv2 = { label="DNS Server 2", value=self.model.nonil(self.clientdata.dnssrv2), type="text" },
+ subnet = { label="Subnet", value=self.model.nonil(self.clientdata.subnet), type="text" },
+ netmask = { label="Netmask", value=self.model.nonil(self.clientdata.netmask), type="text" },
+ leaserangestart = { label="Lease Range Start", value=self.model.nonil(self.clientdata.leaserangestart), type="text" },
+ leaserangeend = { label="Lease Range End", value=self.model.nonil(self.clientdata.leaserangeend), type="text" },
+ wpad = { label="Web Proxy Auto Discovery", value=self.model.nonil(self.clientdata.wpad),
+ type="select", option = { "yes", "no"} }
+ }
+ self.model.subnet_write( net )
+ return ( cfe({ option = option, value = net, error = { value = nil, fields = nil }}) )
end
net = self.model.subnet_read( self.clientdata.network );
@@ -90,6 +93,7 @@ home = function ( self )
if self.model.is_running( "dhcpd" ) then
info.status.value = "running"
end
+ info.subnets = self.model.get_subnets()
return ( cfe({ option = option, value = "", info = info }) )
end