summaryrefslogtreecommitdiffstats
path: root/dhcp-model.lua
diff options
context:
space:
mode:
Diffstat (limited to 'dhcp-model.lua')
-rw-r--r--dhcp-model.lua23
1 files changed, 13 insertions, 10 deletions
diff --git a/dhcp-model.lua b/dhcp-model.lua
index 7361bc0..63a0533 100644
--- a/dhcp-model.lua
+++ b/dhcp-model.lua
@@ -325,7 +325,7 @@ end
subnet_read = function( name )
local filename = cfgdir .. name .. ".subnet"
- local net = create_new_net( name, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil )
+ local net = create_new_net( name, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil )
for line in io.lines(filename) do
if (string.sub(line, 1, 15) == "def-lease-time:") then
@@ -478,16 +478,18 @@ subnet_write = function( net )
table.insert( fields, "statichosts" )
end
- spec_msg = validate_dynamichosts( net.dynamichosts.value )
- if #spec_msg == 0 then
- spec_msg = subnet_update_dynamichosts( net.name.value, net.dynamichosts.value )
- if #spec_msg > 0 then
+ if net.unknownclients.value == "deny" then
+ spec_msg = validate_dynamichosts( net.dynamichosts.value )
+ if #spec_msg == 0 then
+ spec_msg = subnet_update_dynamichosts( net.name.value, net.dynamichosts.value )
+ if #spec_msg > 0 then
+ msg = spec_msg
+ table.insert( fields, "dynamichosts" )
+ end
+ else
msg = spec_msg
table.insert( fields, "dynamichosts" )
end
- else
- msg = spec_msg
- table.insert( fields, "dynamichosts" )
end
spec_msg = subnet_update_advanced( net.name.value, net.advanced.value )
@@ -776,7 +778,7 @@ get_subnets = function ()
return retval
end
-create_new_net = function( name, defleasetime, maxleasetime, gateway, domainname, dnssrv1, dnssrv2, subnet, netmask, leaserangestart, leaserangeend, wpad, statichosts, unknownclients, dynamichosts, advanced )
+create_new_net = function( name, defleasetime, maxleasetime, gateway, domainname, dnssrv1, dnssrv2, subnet, netmask, leaserangestart, leaserangeend, wpad, statichosts, unknownclients, dynamichosts, advanced, useadvanced )
net = { name = { label="Name", value=nonil(name), type="message" },
defleasetime = { label="Default Lease Time", value=nonil(defleasetime), type="text" },
maxleasetime = { label="Maximum Lease Time", value=nonil(maxleasetime), type="text" },
@@ -792,7 +794,8 @@ create_new_net = function( name, defleasetime, maxleasetime, gateway, domainname
statichosts = { label="Static Hosts", value=nonil(statichosts), type="text" },
dynamichosts = { label="Dynamic Hosts", value=nonil(dynamichosts), type="text" },
unknownclients = { label="Unknown Clients", value=nonil(unknownclients), type="text" },
- advanced = { label="Advanced", value=nonil(advanced), type="text" }
+ advanced = { label="Advanced", value=nonil(advanced), type="text" },
+ useadvanced = { label="Use Advanced", value=nonil(useadvanced), type="text" }
}
if net.unknownclients.value ~= "permit" then
net.unknownclients.value = "deny"