summaryrefslogtreecommitdiff
path: root/net/https-dns-proxy/files
diff options
context:
space:
mode:
authorStan Grishin <stangri@melmac.ca>2022-10-24 04:16:20 +0000
committerStan Grishin <stangri@melmac.ca>2022-10-24 04:19:36 +0000
commitfbc63cb9f6ac808803038cfb2775c90085fdc989 (patch)
tree6941eb6ba9278f300e0aa786f7e574c4b6ceb550 /net/https-dns-proxy/files
parent46e984f051428d182933dc147f1f82c7efa2c5e1 (diff)
https-dns-proxy: bugfix: restore empty server; misc improvements
* bugfix: properly restore empty server config for dnsmasq (to address issue brought up in https://github.com/stangri/source.openwrt.melmac.net/pull/162) * better handling of non-existant wan/wan6 interface for triggers * add resolver url to ubus data for future-proofing WebUI js move Signed-off-by: Stan Grishin <stangri@melmac.ca>
Diffstat (limited to 'net/https-dns-proxy/files')
-rwxr-xr-xnet/https-dns-proxy/files/https-dns-proxy.init16
1 files changed, 9 insertions, 7 deletions
diff --git a/net/https-dns-proxy/files/https-dns-proxy.init b/net/https-dns-proxy/files/https-dns-proxy.init
index 64a4b82b9..1b1045d18 100755
--- a/net/https-dns-proxy/files/https-dns-proxy.init
+++ b/net/https-dns-proxy/files/https-dns-proxy.init
@@ -128,8 +128,9 @@ append_bootstrap() {
}
start_instance() {
- local cfg="$1" param listen_addr listen_port ipv6_resolvers_only p
+ local cfg="$1" param listen_addr listen_port ipv6_resolvers_only p url
+ config_get url "$cfg" 'resolver_url'
config_get_bool ipv6_resolvers_only "$cfg" 'use_ipv6_resolvers_only' '0'
append_parm "$cfg" 'resolver_url' '-r'
append_parm "$cfg" 'listen_addr' '-a' '127.0.0.1'
@@ -151,8 +152,9 @@ start_instance() {
procd_set_param stderr 1
procd_set_param stdout 1
procd_set_param respawn
+ procd_open_data
+ json_add_string url "$url"
if [ "$force_dns" -ne 0 ]; then
- procd_open_data
json_add_array firewall
for p in $force_dns_port; do
if netstat -tuln | grep 'LISTEN' | grep ":${p}" >/dev/null 2>&1 || [ "$p" = '53' ]; then
@@ -177,8 +179,8 @@ start_instance() {
fi
done
json_close_array
- procd_close_data
fi
+ procd_close_data
procd_close_instance
if [ "$?" ]; then
@@ -269,10 +271,10 @@ service_triggers() {
network_find_wan6 wan6
wan6="${wan6:-wan6}"
fi
- for i in $wan $wan6; do
- procd_add_interface_trigger "interface.*" "$i" "/etc/init.d/${packageName}" start
+ for i in "$wan" "$wan6"; do
+ [ -n "$i" ] && procd_add_interface_trigger "interface.*" "$i" "/etc/init.d/${packageName}" start
done
- procd_add_config_trigger "config.change" "$packageName" "/etc/init.d/${packageName}" start
+ procd_add_config_trigger "config.change" "$packageName" "/etc/init.d/${packageName}" reload
}
service_started() { procd_set_config_changed firewall; }
@@ -341,7 +343,7 @@ dnsmasq_restore_server_backup() {
fi
uci_remove 'dhcp' "$cfg" 'doh_backup_noresolv'
fi
- if [ -n "$(uci_get 'dhcp' "$cfg" 'doh_backup_server')" ]; then
+ if uci_get 'dhcp' "$cfg" 'doh_backup_server' >/dev/null 2>&1; then
dnsmasq_doh_server "$cfg" 'remove'
for i in $(uci_get 'dhcp' "$cfg" 'doh_backup_server'); do
uci_add_list_if_new 'dhcp' "$cfg" 'server' "$i"