adblock: update 3.8.1

* fix a possible race condition during DNS file reset on slow hardware
* optimize DNS restart behaviour in 'null' blocking mode
* mute useless warnings

Signed-off-by: Dirk Brenken <dev@brenken.org>
This commit is contained in:
Dirk Brenken 2019-08-19 23:34:31 +02:00
parent 504412ccdb
commit 866878aa78
No known key found for this signature in database
GPG Key ID: 9D71CD547BFAE684
2 changed files with 13 additions and 16 deletions

View File

@ -6,7 +6,7 @@
include $(TOPDIR)/rules.mk
PKG_NAME:=adblock
PKG_VERSION:=3.8.0
PKG_VERSION:=3.8.1
PKG_RELEASE:=1
PKG_LICENSE:=GPL-3.0+
PKG_MAINTAINER:=Dirk Brenken <dev@brenken.org>

View File

@ -10,7 +10,7 @@
#
LC_ALL=C
PATH="/usr/sbin:/usr/bin:/sbin:/bin"
adb_ver="3.8.0"
adb_ver="3.8.1"
adb_sysver="unknown"
adb_enabled=0
adb_debug=0
@ -443,20 +443,14 @@ f_extconf()
#
f_dnsup()
{
local dns_up cache_util cache_rc cnt=0
local dns_service dns_up dns_pid dns_procfile cache_util cache_rc cnt=0
if [ "${adb_dnsflush}" -eq 0 ] && [ "${adb_enabled}" -eq 1 ] && [ "${adb_rc}" -eq 0 ]
then
case "${adb_dns}" in
"dnsmasq")
if [ "${adb_dnsvariant}" = "nxdomain" ]
then
killall -q -HUP "${adb_dns}"
cache_rc=${?}
elif [ "${adb_dnsvariant% *}" = "null" ]
then
"/etc/init.d/${adb_dns}" restart >/dev/null 2>&1
fi
killall -q -HUP "${adb_dns}"
cache_rc=${?}
;;
"unbound")
cache_util="$(command -v unbound-control)"
@ -487,8 +481,11 @@ f_dnsup()
adb_rc=1
while [ "${cnt}" -le 10 ]
do
dns_up="$(ubus -S call service list "{\"name\":\"${adb_dns}\"}" | jsonfilter -l1 -e "@[\"${adb_dns}\"].instances.*.running")"
if [ "${dns_up}" = "true" ]
dns_service="$(ubus -S call service list "{\"name\":\"${adb_dns}\"}")"
dns_up="$(printf "%s" "${dns_service}" | jsonfilter -l1 -e "@[\"${adb_dns}\"].instances.*.running")"
dns_pid="$(printf "%s" "${dns_service}" | jsonfilter -l1 -e "@[\"${adb_dns}\"].instances.*.pid")"
dns_procfile="$(ls -l /proc/${dns_pid}/fd 2>/dev/null | grep -Fo "${adb_dnsdir}/${adb_dnsfile}")"
if [ "${dns_up}" = "true" ] && [ -n "${dns_pid}" ] && [ -z "${dns_procfile}" ]
then
case "${adb_dns}" in
"unbound")
@ -891,7 +888,7 @@ f_bgserv()
( "${adb_ubusservice}" &)
elif [ -n "${bg_pid}" ] && [ "${status}" = "stop" ]
then
kill -HUP ${bg_pid}
kill -HUP ${bg_pid} 2>/dev/null
fi
f_log "debug" "f_bgserv ::: status: ${status:-"-"}, bg_pid: ${bg_pid:-"-"}, dns_filereset: ${adb_dnsfilereset:-"-"}, ubus_service: ${adb_ubusservice:-"-"}"
}
@ -1041,9 +1038,9 @@ f_main()
then
if [ "${adb_dnsfilereset}" = "true" ]
then
f_bgserv "start"
> "${adb_dnsdir}"/"${adb_dnsfile}"
f_log "info" "blocklist with overall ${adb_cnt} domains loaded successfully and reset afterwards (${adb_sysver})"
f_bgserv "start"
else
f_log "info" "blocklist with overall ${adb_cnt} domains loaded successfully (${adb_sysver})"
fi
@ -1075,7 +1072,7 @@ f_report()
then
if [ -n "${bg_pid}" ]
then
kill -HUP ${bg_pid}
kill -HUP ${bg_pid} 2>/dev/null
while $(kill -0 ${bg_pid} 2>/dev/null)
do
sleep 1