diff --git a/package/network/services/dnsmasq/files/dnsmasq.init b/package/network/services/dnsmasq/files/dnsmasq.init index c2d324ea4..c8274e70a 100755 --- a/package/network/services/dnsmasq/files/dnsmasq.init +++ b/package/network/services/dnsmasq/files/dnsmasq.init @@ -796,25 +796,23 @@ dhcp_relay_add() { dnsmasq_ipset_add() { local cfg="$1" - local ipsets domains + local ipsets add_ipset() { ipsets="${ipsets:+$ipsets,}$1" } add_domain() { - # leading '/' is expected - domains="$domains/$1" + xappend "--ipset=/$1/$ipsets" } config_list_foreach "$cfg" "name" add_ipset - config_list_foreach "$cfg" "domain" add_domain - if [ -z "$ipsets" ] || [ -z "$domains" ]; then + if [ -z "$ipsets" ]; then return 0 fi - xappend "--ipset=$domains/$ipsets" + config_list_foreach "$cfg" "domain" add_domain } dnsmasq_start()