X-Git-Url: http://git.archive.openwrt.org/?a=blobdiff_plain;f=protocols%2Fcore%2Fluasrc%2Fmodel%2Fcbi%2Fadmin_network%2Fproto_dhcp.lua;fp=protocols%2Fcore%2Fluasrc%2Fmodel%2Fcbi%2Fadmin_network%2Fproto_dhcp.lua;h=806d5cd31504726e0abd4e5c2f03ca09732d981d;hb=620c216b3a996328ae2087f0eca6f2cb1c112131;hp=566ea2331a11fe13a3fd03f7b0177b6c3aed0a94;hpb=632632f92bfe23a2c9f2fec04217cefa5db3eabb;p=project%2Fluci.git diff --git a/protocols/core/luasrc/model/cbi/admin_network/proto_dhcp.lua b/protocols/core/luasrc/model/cbi/admin_network/proto_dhcp.lua index 566ea2331..806d5cd31 100644 --- a/protocols/core/luasrc/model/cbi/admin_network/proto_dhcp.lua +++ b/protocols/core/luasrc/model/cbi/admin_network/proto_dhcp.lua @@ -14,7 +14,7 @@ local map, section, net = ... local ifc = net:get_interface() local hostname, accept_ra, send_rs -local bcast, no_gw, metric, clientid, vendorclass +local bcast, no_gw, no_dns, dns, metric, clientid, vendorclass hostname = section:taboption("general", Value, "hostname", @@ -62,6 +62,34 @@ function no_gw.write(self, section, value) end +no_dns = section:taboption("advanced", Flag, "_no_dns", + translate("Use DNS servers advertised by peer"), + translate("If unchecked, the advertised DNS server addresses are ignored")) + +no_dns.default = no_dns.enabled + +function no_dns.cfgvalue(self, section) + local addr + for addr in luci.util.imatch(m:get(section, "dns")) do + return self.disabled + end + return self.enabled +end + +function no_dns.remove(self, section) + return m:del(section, "dns") +end + +function no_dns.write() end + + +dns = section:taboption("advanced", DynamicList, "dns", + translate("Use custom DNS servers")) + +dns:depends("_no_dns", "") +dns.datatype = "ipaddr" + + metric = section:taboption("advanced", Value, "metric", translate("Use gateway metric"))