luci-mod-admin-full: correct logic for dnsmasq boguspriv keyword
[project/luci.git] / modules / luci-mod-admin-full / luasrc / model / cbi / admin_network / dhcp.lua
index 164e120..f418ecb 100644 (file)
@@ -2,6 +2,8 @@
 -- Licensed to the public under the Apache License 2.0.
 
 local ipc = require "luci.ip"
+local o
+require "luci.util"
 
 m = Map("dhcp", translate("DHCP and DNS"),
        translate("Dnsmasq is a combined <abbr title=\"Dynamic Host Configuration Protocol" ..
@@ -56,10 +58,20 @@ s:taboption("files", Flag, "nohosts",
 s:taboption("files", DynamicList, "addnhosts",
        translate("Additional Hosts files")).optional = true
 
+qu = s:taboption("advanced", Flag, "quietdhcp",
+       translate("Suppress logging"),
+       translate("Suppress logging of the routine operation of these protocols"))
+qu.optional = true
 
-s:taboption("advanced", Flag, "boguspriv",
+se = s:taboption("advanced", Flag, "sequential_ip",
+       translate("Allocate IP sequentially"),
+       translate("Allocate IP addresses sequentially, starting from the lowest available address"))
+se.optional = true
+
+bp = s:taboption("advanced", Flag, "boguspriv",
        translate("Filter private"),
        translate("Do not forward reverse lookups for local networks"))
+bp.default = bp.enabled
 
 s:taboption("advanced", Flag, "filterwin2k",
        translate("Filter useless"),
@@ -70,6 +82,19 @@ s:taboption("advanced", Flag, "localise_queries",
        translate("Localise queries"),
        translate("Localise hostname depending on the requesting subnet if multiple IPs are available"))
 
+local have_dnssec_support = luci.util.checklib("/usr/sbin/dnsmasq", "libhogweed.so")
+
+if have_dnssec_support then
+       o = s:taboption("advanced", Flag, "dnssec",
+               translate("DNSSEC"))
+       o.optional = true
+
+       o = s:taboption("advanced", Flag, "dnsseccheckunsigned",
+               translate("DNSSEC check unsigned"),
+               translate("Requires upstream supports DNSSEC; verify unsigned domain responses really come from unsigned domains"))
+       o.optional = true
+end
+
 s:taboption("general", Value, "local",
        translate("Local server"),
        translate("Local domain specification. Names matching this domain are never forwarded and are resolved from DHCP or hosts files only"))
@@ -227,7 +252,7 @@ o:depends("nonwildcard", true)
 
 o = s:taboption("general", DynamicList, "notinterface",
        translate("Exclude interfaces"),
-       translate("Prevent listening on thise interfaces."))
+       translate("Prevent listening on these interfaces."))
 o.optional = true
 o:depends("nonwildcard", true)