dnsmasq: rework network interface ignore
[openwrt/staging/jow.git] / package / network / services / dnsmasq / files / dnsmasq.init
index 5b6d00042249b44379b5e4d83c628adaf4643011..c5e673029187555d1a81e8ec88fefb18b39c08d1 100755 (executable)
@@ -970,6 +970,13 @@ dnsmasq_start()
                        ;;
        esac
 
+       config_get dnsfilter "$cfg" "dnsfilter"
+       case "$dnsfilter" in
+               A|AAAA)
+                       xappend "--filter-$dnsfilter"
+                       ;;
+       esac
+
        append_bool "$cfg" fqdn "--dhcp-fqdn"
        append_bool "$cfg" proxydnssec "--proxy-dnssec"
        append_bool "$cfg" localservice "--local-service"
@@ -1246,10 +1253,11 @@ dnsmasq_stop()
 
 add_interface_trigger()
 {
-       local interface ignore
+       local interface ifname ignore
 
        config_get interface "$1" interface
        config_get_bool ignore "$1" ignore 0
+       network_get_device ifname "$interface" || ignore=0
 
        [ -n "$interface" ] && [ $ignore -eq 0 ] && procd_add_interface_trigger "interface.*" "$interface" /etc/init.d/dnsmasq reload
 }