X-Git-Url: http://git.archive.openwrt.org/?a=blobdiff_plain;f=modules%2Fluci-mod-admin-full%2Fluasrc%2Fmodel%2Fcbi%2Fadmin_network%2Fdhcp.lua;h=0c01ceffca24358c9dc7f578740914ec1177e7ea;hb=dbb694c699f80f387c61d531cb3e8de2608edbec;hp=7bbc28c168f7e5c6c3a25e8edf877ce75c4a41a4;hpb=16bdbe235342516fb85f1af42d7594056ad0e3d7;p=project%2Fluci.git diff --git a/modules/luci-mod-admin-full/luasrc/model/cbi/admin_network/dhcp.lua b/modules/luci-mod-admin-full/luasrc/model/cbi/admin_network/dhcp.lua index 7bbc28c16..0c01ceffc 100644 --- a/modules/luci-mod-admin-full/luasrc/model/cbi/admin_network/dhcp.lua +++ b/modules/luci-mod-admin-full/luasrc/model/cbi/admin_network/dhcp.lua @@ -58,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"), @@ -148,6 +158,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 +232,29 @@ db.optional = true 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 these interfaces.")) +o.optional = true +o:depends("nonwildcard", true) m:section(SimpleSection).template = "admin_network/lease_status" @@ -242,6 +276,16 @@ name = s:option(Value, "name", translate("Hostname")) name.datatype = "hostname" name.rmempty = true +function name.write(self, section, value) + Value.write(self, section, value) + m:set(section, "dns", "1") +end + +function name.remove(self, section) + Value.remove(self, section) + m:del(section, "dns") +end + mac = s:option(Value, "mac", translate("MAC-Address")) mac.datatype = "list(macaddr)" mac.rmempty = true @@ -252,6 +296,19 @@ ip.datatype = "or(ip4addr,'ignore')" time = s:option(Value, "leasetime", translate("Lease time")) time.rmempty = true +duid = s:option(Value, "duid", translate("DUID")) +duid.datatype = "and(rangelength(28,36),hexstring)" +fp = io.open("/var/hosts/odhcpd") +if fp then + for line in fp:lines() do + local net_val, duid_val = string.match(line, "# (%S+)%s+(%S+)") + if duid_val then + duid:value(duid_val, duid_val) + end + end + fp:close() +end + hostid = s:option(Value, "hostid", translate("IPv6-Suffix (hex)")) ipc.neighbors({ family = 4 }, function(n)