summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorTed Trask <ttrask01@yahoo.com>2008-12-08 14:21:47 +0000
committerTed Trask <ttrask01@yahoo.com>2008-12-08 14:21:47 +0000
commit7a69cc8a348535a9913f4d4b66653390f6ac45f0 (patch)
treea1f8ae9e21445eeb6752741e0d2843f5aded5377
parent34df9998d90048c2b639aefae057e3741308f2c1 (diff)
downloadacf-dhcp-7a69cc8a348535a9913f4d4b66653390f6ac45f0.tar.bz2
acf-dhcp-7a69cc8a348535a9913f4d4b66653390f6ac45f0.tar.xz
Modified dhcp to add required ddns-update-style parameter to globals.
git-svn-id: svn://svn.alpinelinux.org/acf/dhcp/trunk@1624 ab2d0c66-481e-0410-8bed-d214d4d58bed
-rw-r--r--dhcp-model.lua30
-rw-r--r--dhcp-settings-html.lsp2
2 files changed, 21 insertions, 11 deletions
diff --git a/dhcp-model.lua b/dhcp-model.lua
index f542554..ccbbb57 100644
--- a/dhcp-model.lua
+++ b/dhcp-model.lua
@@ -149,7 +149,7 @@ local validate_subnet = function( net )
end
local validate_settings = function ( settings )
- local success = true
+ local success = modelfunctions.validateselect(settings.value.dnsupdatestyle)
if settings.value.defleasetime.value ~= "" and not validator.is_integer_in_range(settings.value.defleasetime.value, 1800, 86400) then
settings.value.defleasetime.errtxt = "Out of range 1800 < x < 86400 or not integer"
success = false
@@ -672,25 +672,29 @@ end
read_settings = function()
config = config or parseconfigfile(fs.read_file(configfile))
- local domainname = cfe({ label="Domain Name" })
- local domainnameservers = cfe({ label="Domain Name Servers", descr="Comma-separated addresses" })
- local defleasetime = cfe({ label="Default Lease Time" })
- local maxleasetime = cfe({ label="Maximum Lease Time" })
+ local settings = {}
+ settings.domainname = cfe({ label="Domain Name" })
+ settings.domainnameservers = cfe({ label="Domain Name Servers", descr="Comma-separated addresses" })
+ settings.dnsupdatestyle = cfe({ type="select", label="DNS Update Style", option={"none", "ad-hoc", "interim"} })
+ settings.defleasetime = cfe({ label="Default Lease Time" })
+ settings.maxleasetime = cfe({ label="Maximum Lease Time" })
for i,value in ipairs(config) do
if value[1] == "option" then
if value[2] == "domain-name" then
- domainname.value = string.sub(value[3] or "", 2, -2)
+ settings.domainname.value = string.sub(value[3] or "", 2, -2)
elseif value[2] == "domain-name-servers" then
- domainnameservers.value = table.concat(value, " ", 3)
+ settings.domainnameservers.value = table.concat(value, " ", 3)
end
elseif value[1] == "default-lease-time" then
- defleasetime.value = value[2] or ""
+ settings.defleasetime.value = value[2] or ""
elseif value[1] == "max-lease-time" then
- maxleasetime.value = value[2] or ""
+ settings.maxleasetime.value = value[2] or ""
+ elseif value[1] == "ddns-update-style" then
+ settings.dnsupdatestyle.value = value[2] or ""
end
end
- return cfe({ type="group", value={domainname=domainname, domainnameservers=domainnameservers, defleasetime=defleasetime, maxleasetime=maxleasetime}, label = "Global settings" })
+ return cfe({ type="group", value=settings, label = "Global settings" })
end
update_settings = function ( settings )
@@ -706,6 +710,7 @@ update_settings = function ( settings )
if settings.value.domainnameservers.value ~= "" then
settings.value.domainnameservers.replace = "option domain-name-servers "..settings.value.domainnameservers.value
end
+ settings.value.dnsupdatestyle.replace = "ddns-update-style "..settings.value.dnsupdatestyle.value
if settings.value.defleasetime.value ~= "" then
settings.value.defleasetime.replace = "default-lease-time "..settings.value.defleasetime.value
end
@@ -723,6 +728,9 @@ update_settings = function ( settings )
file = replaceentry(file, value, settings.value.domainnameservers.replace)
settings.value.domainnameservers.replace = nil
end
+ elseif value[1] == "ddns-update-style" then
+ file = replaceentry(file, value, settings.value.dnsupdatestyle.replace)
+ settings.value.dnsupdatestyle.replace = nil
elseif value[1] == "default-lease-time" then
file = replaceentry(file, value, settings.value.defleasetime.replace)
settings.value.defleasetime.replace = nil
@@ -738,6 +746,8 @@ update_settings = function ( settings )
settings.value.domainname.replace = nil
newlines[#newlines+1] = settings.value.domainnameservers.replace
settings.value.domainnameservers.replace = nil
+ newlines[#newlines+1] = settings.value.dnsupdatestyle.replace
+ settings.value.dnsupdatestyle.replace = nil
newlines[#newlines+1] = settings.value.defleasetime.replace
settings.value.defleasetime.replace = nil
newlines[#newlines+1] = settings.value.maxleasetime.replace
diff --git a/dhcp-settings-html.lsp b/dhcp-settings-html.lsp
index 098bb78..de209bf 100644
--- a/dhcp-settings-html.lsp
+++ b/dhcp-settings-html.lsp
@@ -4,6 +4,6 @@
<h1><%= form.label %></h1>
<%
form.action = page_info.script .. page_info.prefix .. page_info.controller .. "/" .. page_info.action
- local order = {"domainname", "domainnameservers", "defleasetime", "maxleasetime"}
+ local order = {"domainname", "domainnameservers", "dnsupdatestyle", "defleasetime", "maxleasetime"}
displayform(form, order)
%>