dnsmasq: fix a lot of domains to a single ipset option crashes dnsmasq

This commit is contained in:
lean 2022-02-14 14:02:29 +08:00
parent 42e5e0dff8
commit db70aeede7

View File

@ -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()