https-dns-proxy: bugfix: prevent erros from boot() 22738/head
authorStan Grishin <stangri@melmac.ca>
Thu, 23 Nov 2023 22:38:12 +0000 (22:38 +0000)
committerStan Grishin <stangri@melmac.ca>
Thu, 23 Nov 2023 22:41:11 +0000 (22:41 +0000)
* 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>
(cherry picked from commit f519b68401b68f011091e83badadb54a43eae33d)

net/https-dns-proxy/Makefile
net/https-dns-proxy/files/etc/init.d/https-dns-proxy
net/https-dns-proxy/patches/020-src-options.c-add-version.patch

index e66f8e5bd54dcb4ad8428eaa8763194992250352..3037bd5a29c8d7d1b2596beaa1529960a8213349 100644 (file)
@@ -2,13 +2,14 @@ include $(TOPDIR)/rules.mk
 
 PKG_NAME:=https-dns-proxy
 PKG_VERSION:=2023-10-25
-PKG_RELEASE:=1
+PKG_RELEASE:=3
 
 PKG_SOURCE_PROTO:=git
 PKG_SOURCE_URL:=https://github.com/aarond10/https_dns_proxy/
 PKG_SOURCE_DATE:=$(PKG_VERSION)
 PKG_SOURCE_VERSION:=977341a4e35a37ee454e97e82caf4276b1b4961a
 PKG_MIRROR_HASH:=8622846f1038ac05436a48d9b36a07c516cbb6504ce68e7ee8c5529788fac39b
+
 PKG_MAINTAINER:=Stan Grishin <stangri@melmac.ca>
 PKG_LICENSE:=MIT
 PKG_LICENSE_FILES:=LICENSE
index 5679f6349890094e4709041008737cbe688cd487..672e837c7aacbab74375aafa8e8377f2ec0c7da5 100755 (executable)
@@ -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
index d34621793548545371dcbf6a8ac5fefb650f2349..72d3dc5dff8f8061238a565ee62d62ee4a93e5ed 100644 (file)
@@ -5,7 +5,7 @@
    return SW_VERSION;
  #else
 -  return "2023.10.10-atLeast";  // update date sometimes, like 1-2 times a year
-+  return "2023-10-25-1";  // update date sometimes, like 1-2 times a year
++  return "2023-10-25-3";  // update date sometimes, like 1-2 times a year
  #endif
  }