From fae07ff3d97d37a1684b7d61fb1d58501bb3c3ed Mon Sep 17 00:00:00 2001 From: badgv <45598380+badgv@users.noreply.github.com> Date: Wed, 14 Apr 2021 13:34:43 +0800 Subject: [PATCH] fix dnsmasq configuration modification logic (#6685) fix dnsmasq configuration modification logic --- .../lean/dnsforwarder/files/etc/init.d/dnsforwarder | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/package/lean/dnsforwarder/files/etc/init.d/dnsforwarder b/package/lean/dnsforwarder/files/etc/init.d/dnsforwarder index 4af897198..6fc34b0b7 100644 --- a/package/lean/dnsforwarder/files/etc/init.d/dnsforwarder +++ b/package/lean/dnsforwarder/files/etc/init.d/dnsforwarder @@ -192,6 +192,12 @@ start() uci commit dhcp /etc/init.d/dnsmasq restart fi + local dnsmasq_server_addr=$(uci get dhcp.@dnsmasq[0].server 2>/dev/null) + if [ -n "${dnsmasq_server_addr}" ]; then + uci set dhcp.@dnsmasq[0].noresolv=1 + uci commit dhcp + /etc/init.d/dnsmasq restart + fi add_cron } @@ -200,8 +206,11 @@ stop() del_cron logger -t stopping dnsforwarder local addr=$(uci get dnsforwarder.@arguments[0].addr 2>/dev/null) + local dnsmasq=$(uci get dnsforwarder.@arguments[0].dnsmasq 2>/dev/null) addr=${addr/:/#} - uci del_list dhcp.@dnsmasq[0].server=$addr 2>/dev/null + if [ "${dnsmasq}" = "1" ]; then + uci del_list dhcp.@dnsmasq[0].server=$addr 2>/dev/null + fi uci set dhcp.@dnsmasq[0].resolvfile=/tmp/resolv.conf.d/resolv.conf.auto 2>/dev/null uci delete dhcp.@dnsmasq[0].noresolv 2>/dev/null uci delete dhcp.@dnsmasq[0].serversfile 2>/dev/null