summaryrefslogtreecommitdiff
path: root/net/https-dns-proxy/files/etc
diff options
context:
space:
mode:
authorStan Grishin <stangri@melmac.ca>2023-11-23 22:38:12 +0000
committerStan Grishin <stangri@melmac.ca>2023-11-23 22:39:40 +0000
commitf519b68401b68f011091e83badadb54a43eae33d (patch)
tree929821bfa691b1ed4a4e569d66025585cbd88759 /net/https-dns-proxy/files/etc
parent0142d0659822413a3ac5ed4c76d74cbcf5a1ca7e (diff)
https-dns-proxy: bugfix: prevent erros from boot()
* fixes https://github.com/openwrt/packages/issues/22674 * rename resolver_health_check to is_resolver_running for readability * reorder functions in the init file by name Signed-off-by: Stan Grishin <stangri@melmac.ca>
Diffstat (limited to 'net/https-dns-proxy/files/etc')
-rwxr-xr-xnet/https-dns-proxy/files/etc/init.d/https-dns-proxy16
1 files changed, 7 insertions, 9 deletions
diff --git a/net/https-dns-proxy/files/etc/init.d/https-dns-proxy b/net/https-dns-proxy/files/etc/init.d/https-dns-proxy
index 5679f6349..672e837c7 100755
--- a/net/https-dns-proxy/files/etc/init.d/https-dns-proxy
+++ b/net/https-dns-proxy/files/etc/init.d/https-dns-proxy
@@ -30,10 +30,11 @@ readonly canaryDomainsiCloud='mask.icloud.com mask-h2.icloud.com'
on_boot_trigger=
-str_contains() { [ -n "$1" ] &&[ -n "$2" ] && [ "${1//$2}" != "$1" ]; }
+dnsmasq_restart() { [ -x /etc/init.d/dnsmasq ] || return 1; /etc/init.d/dnsmasq restart >/dev/null 2>&1; }
is_mac_address() { expr "$1" : '[0-9A-F][0-9A-F]:[0-9A-F][0-9A-F]:[0-9A-F][0-9A-F]:[0-9A-F][0-9A-F]:[0-9A-F][0-9A-F]:[0-9A-F][0-9A-F]$' >/dev/null; }
is_ipv4() { expr "$1" : '[0-9][0-9]*\.[0-9][0-9]*\.[0-9][0-9]*\.[0-9][0-9]*$' >/dev/null; }
is_ipv6() { ! is_mac_address "$1" && str_contains "$1" ":"; }
+is_resolver_working() { resolveip -t 3 one.one.one.one >/dev/null 2>&1; }
output() {
local msg memmsg logmsg
local sharedMemoryOutput="/dev/shm/$packageName-output"
@@ -52,6 +53,7 @@ output_ok() { output "$_OK_"; }
output_okn() { output "${_OK_}\\n"; }
output_fail() { output "$_FAIL_"; }
output_failn() { output "${_FAIL_}\\n"; }
+str_contains() { [ -n "$1" ] &&[ -n "$2" ] && [ "${1//$2}" != "$1" ]; }
uci_add_list_if_new() {
local PACKAGE="$1"
local CONFIG="$2"
@@ -70,9 +72,6 @@ uci_changes() {
local OPTION="$3"
/sbin/uci ${UCI_CONFIG_DIR:+-c $UCI_CONFIG_DIR} changes "$PACKAGE${CONFIG:+.$CONFIG}${OPTION:+.$OPTION}"
}
-
-dnsmasq_restart() { [ -x /etc/init.d/dnsmasq ] || return 1; /etc/init.d/dnsmasq restart >/dev/null 2>&1; }
-
version() { echo "$PKG_VERSION"; }
xappend() { PROG_param="$PROG_param $1"; }
@@ -131,13 +130,11 @@ append_bootstrap() {
[ "$ipv6_resolvers_only" -eq 0 ] && xappend '-4'
}
-resolver_health_check() { resolveip -t 3 one.one.one.one >/dev/null 2>&1; }
-
boot() {
ubus -t 30 wait_for network.interface 2>/dev/null
on_boot_trigger=1
- rc_procd start_service 'on_boot' && rc_procd service_started 'on_boot'
- resolver_health_check || rc_procd stop_service 'on_boot'
+ rc_procd start_service 'on_boot' && service_started 'on_boot'
+ is_resolver_working || rc_procd stop_service 'on_boot' && service_stopped 'on_boot'
}
start_instance() {
@@ -203,7 +200,8 @@ start_instance() {
procd_close_data
procd_close_instance
- if [ "$?" ]; then
+# shellcheck disable=SC2181
+ if [ "$?" -eq 0 ]; then
config_get listen_addr "$cfg" 'listen_addr' '127.0.0.1'
config_get listen_port "$cfg" 'listen_port' "$port"
if [ "$dnsmasq_config_update" = '*' ]; then