adblock: update 3.8.7 10406/head
authorDirk Brenken <dev@brenken.org>
Thu, 31 Oct 2019 11:34:48 +0000 (12:34 +0100)
committerDirk Brenken <dev@brenken.org>
Thu, 31 Oct 2019 11:40:22 +0000 (12:40 +0100)
* prevent forced parallel adblock service starts
* refine service trigger

Signed-off-by: Dirk Brenken <dev@brenken.org>
net/adblock/Makefile
net/adblock/files/adblock.init
net/adblock/files/adblock.sh

index c1fb4654352af8a10e4d55a5def91e437d1a1748..7d849f96486055cbddba4ca51d70b190745c6ac9 100644 (file)
@@ -6,8 +6,8 @@
 include $(TOPDIR)/rules.mk
 
 PKG_NAME:=adblock
-PKG_VERSION:=3.8.6
-PKG_RELEASE:=2
+PKG_VERSION:=3.8.7
+PKG_RELEASE:=1
 PKG_LICENSE:=GPL-3.0-or-later
 PKG_MAINTAINER:=Dirk Brenken <dev@brenken.org>
 
index 192617fbaba9ebca4604b0e0611d5b7a6adf6fa2..3397f83fce2801a3b1766296b31262d6c088654b 100755 (executable)
@@ -15,6 +15,11 @@ adb_init="/etc/init.d/adblock"
 adb_script="/usr/bin/adblock.sh"
 adb_pidfile="/var/run/adblock.pid"
 
+if [ -s "${adb_pidfile}" ] && [ "${action}" != "help" ] && [ "${action}" != "status" ]
+then
+       exit 1
+fi
+
 boot()
 {
        adb_boot=1
@@ -61,25 +66,21 @@ restart()
 
 suspend()
 {
-       [ -s "${adb_pidfile}" ] && return 1
        rc_procd start_service suspend
 }
 
 resume()
 {
-       [ -s "${adb_pidfile}" ] && return 1
        rc_procd start_service resume
 }
 
 query()
 {
-       [ -s "${adb_pidfile}" ] && return 1
        rc_procd "${adb_script}" query "${1}"
 }
 
 report()
 {
-       [ -s "${adb_pidfile}" ] && return 1
        rc_procd "${adb_script}" report "${1:-"+"}" "${2:-"50"}" "${3:-"false"}" "${4:-"true"}"
 }
 
@@ -106,16 +107,29 @@ status_service()
 
 service_triggers()
 {
-       local trigger="$(uci_get adblock global adb_trigger)"
+       local trigger trigger_list="$(uci_get adblock global adb_trigger)"
        local delay="$(uci_get adblock extra adb_triggerdelay "2")"
+       local type="$(uci_get adblock extra adb_starttype "start")"
 
        PROCD_RELOAD_DELAY=$((delay*1000))
-       if [ -n "${trigger}" ] && [ "${trigger}" != "none" ] && [ "${trigger}" != "timed" ]
+       
+       if [ -z "${trigger_list}" ] && [ -r "/lib/functions/network.sh" ]
        then
-               procd_add_interface_trigger "interface.*.up" "${trigger}" "${adb_init}" start
-       elif [ -z "${trigger}" ]
+               . "/lib/functions/network.sh"
+               network_find_wan trigger_list
+       fi
+
+       if [ -n "${trigger_list}" ]
        then
-               procd_add_raw_trigger "interface.*.up" ${PROCD_RELOAD_DELAY} "${adb_init}" start
+               for trigger in ${trigger_list}
+               do
+                       if [ "${trigger}" != "none" ] && [ "${trigger}" != "timed" ]
+                       then
+                               procd_add_interface_trigger "interface.*.up" "${trigger}" "${adb_init}" "${type}"
+                       fi
+               done
+       else
+               procd_add_raw_trigger "interface.*.up" ${PROCD_RELOAD_DELAY} "${adb_init}" "${type}"
        fi
        procd_add_reload_trigger "adblock"
 }
index b5b2781b54f202e56b9383ae3f285a53ed1ec2e5..0702da9602554e1c91f87dd034a667c92f9c73a9 100755 (executable)
@@ -13,7 +13,7 @@
 #
 LC_ALL=C
 PATH="/usr/sbin:/usr/bin:/sbin:/bin"
-adb_ver="3.8.6-2"
+adb_ver="3.8.7"
 adb_basever=""
 adb_enabled=0
 adb_debug=0