ar71xx: image: simplify Meraki MR16 device definition
[openwrt/openwrt.git] / package / network / services / dnsmasq / files / dnsmasq.init
index 2d05b77873c26be20889ee4a2f33ce1349c151cd..19517d937d451c9cbe889ef0ad3ba3024b342db7 100644 (file)
@@ -103,8 +103,10 @@ append_bool() {
        local section="$1"
        local option="$2"
        local value="$3"
+       local default="$4"
        local _loctmp
-       config_get_bool _loctmp "$section" "$option" 0
+       [ -z "$default" ] && default="0"
+       config_get_bool _loctmp "$section" "$option" "$default"
        [ $_loctmp -gt 0 ] && xappend "$value"
 }
 
@@ -123,6 +125,10 @@ append_server() {
        xappend "--server=$1"
 }
 
+append_rev_server() {
+        xappend "--rev-server=$1"
+}
+
 append_address() {
        xappend "--address=$1"
 }
@@ -438,6 +444,7 @@ dhcp_add() {
        local cfg="$1"
        local dhcp6range="::"
        local nettag
+       local tags
 
        config_get net "$cfg" interface
        [ -n "$net" ] || return 0
@@ -489,6 +496,12 @@ dhcp_add() {
        dhcp_this_host_add "$net" "$ifname" "$ADD_LOCAL_FQDN"
 
        start="$( dhcp_calc "$start" )"
+
+       add_tag() {
+               tags="${tags}tag:$1,"
+       }
+       config_list_foreach "$cfg" tag add_tag
+
        nettag="${networkid:+set:${networkid},}"
 
        if [ "$limit" -gt 0 ] ; then
@@ -506,7 +519,7 @@ dhcp_add() {
 
 
        if [ "$dhcpv4" != "disabled" ] ; then
-               xappend "--dhcp-range=$nettag$START,$END,$NETMASK,$leasetime${options:+ $options}"
+               xappend "--dhcp-range=$tags$nettag$START,$END,$NETMASK,$leasetime${options:+ $options}"
        fi
 
 
@@ -791,7 +804,7 @@ dnsmasq_start()
        config_get tftp_root "$cfg" "tftp_root"
        [ -n "$tftp_root" ] && mkdir -p "$tftp_root" && append_bool "$cfg" enable_tftp "--enable-tftp"
        append_bool "$cfg" tftp_no_fail "--tftp-no-fail"
-       append_bool "$cfg" nonwildcard "--bind-dynamic"
+       append_bool "$cfg" nonwildcard "--bind-dynamic" 1
        append_bool "$cfg" fqdn "--dhcp-fqdn"
        append_bool "$cfg" proxydnssec "--proxy-dnssec"
        append_bool "$cfg" localservice "--local-service"
@@ -814,6 +827,7 @@ dnsmasq_start()
        append_parm "$cfg" "domain" "--domain"
        append_parm "$cfg" "local" "--server"
        config_list_foreach "$cfg" "server" append_server
+       config_list_foreach "$cfg" "rev_server" append_rev_server
        config_list_foreach "$cfg" "address" append_address
        config_list_foreach "$cfg" "ipset" append_ipset
        config_list_foreach "$cfg" "interface" append_interface