Merge pull request #680 from cshore/pull-request-dnsmasq-options
authorHannu Nyman <hannu.nyman@iki.fi>
Tue, 29 Mar 2016 12:42:45 +0000 (15:42 +0300)
committerHannu Nyman <hannu.nyman@iki.fi>
Tue, 29 Mar 2016 12:42:45 +0000 (15:42 +0300)
luci-mod-admin-full: various dnsmasq options

1  2 
modules/luci-mod-admin-full/luasrc/model/cbi/admin_network/dhcp.lua

@@@ -2,8 -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" ..
@@@ -72,19 -70,6 +72,19 @@@ s:taboption("advanced", Flag, "localise
        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"))
@@@ -148,6 -133,7 +148,7 @@@ rl:depends("rebind_protection", "1"
  rd = s:taboption("general", DynamicList, "rebind_domain",
        translate("Domain whitelist"),
        translate("List of domains to allow RFC1918 responses for"))
+ rd.optional = true
  
  rd:depends("rebind_protection", "1")
  rd.datatype = "host(1)"
@@@ -221,6 -207,29 +222,29 @@@ db.optional = tru
  db:depends("enable_tftp", "1")
  db.placeholder = "pxelinux.0"
  
+ o = s:taboption("general", Flag, "localservice",
+       translate("Local Service Only"),
+       translate("Limit DNS service to subnets interfaces on which we are serving DNS."))
+ o.optional = false
+ o.rmempty = false
+ o = s:taboption("general", Flag, "nonwildcard",
+       translate("Non-wildcard"),
+       translate("Bind only to specific interfaces rather than wildcard address."))
+ o.optional = false
+ o.rmempty = false
+ o = s:taboption("general", DynamicList, "interface",
+       translate("Listen Interfaces"),
+       translate("Limit listening to these interfaces, and loopback."))
+ o.optional = true
+ o:depends("nonwildcard", true)
+ o = s:taboption("general", DynamicList, "notinterface",
+       translate("Exclude interfaces"),
+       translate("Prevent listening on thise interfaces."))
+ o.optional = true
+ o:depends("nonwildcard", true)
  
  m:section(SimpleSection).template = "admin_network/lease_status"