adblock: update 1.4.1 2977/head
authorDirk Brenken <dev@brenken.org>
Wed, 20 Jul 2016 20:09:23 +0000 (22:09 +0200)
committerDirk Brenken <dev@brenken.org>
Wed, 20 Jul 2016 20:10:35 +0000 (22:10 +0200)
* fix two possible overflows in adblock statistics

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

index 6f5daca77e3b9f4437c87efbc0854bbfcb067f55..99da155f5671f2468fe1c108445895971cbf82ce 100644 (file)
@@ -7,7 +7,7 @@
 include $(TOPDIR)/rules.mk
 
 PKG_NAME:=adblock
-PKG_VERSION:=1.4.0
+PKG_VERSION:=1.4.1
 PKG_RELEASE:=1
 PKG_LICENSE:=GPL-3.0+
 PKG_MAINTAINER:=Dirk Brenken <dev@brenken.org>
index 0e1178437baba3ea421bc12d0a88f4d821834560..4940b255cb7b033f55f1aa4efbda596dfe3f4db4 100644 (file)
@@ -710,20 +710,26 @@ f_statistics()
 
     if [ -n "${adb_wanif4}" ]
     then
-        ipv4_blk="$(iptables -t nat -vnL adb-nat | awk '$3 ~ /^DNAT$/ {sum += $1} END {printf sum}')"
-        ipv4_all="$(iptables -t nat -vnL PREROUTING | awk '$3 ~ /^prerouting_rule$/ {sum += $1} END {printf sum}')"
+        ipv4_blk="$(iptables -t nat -vxnL adb-nat | awk '$3 ~ /^DNAT$/ {sum += $1} END {printf sum}')"
+        ipv4_all="$(iptables -t nat -vxnL PREROUTING | awk '$3 ~ /^prerouting_rule$/ {sum += $1} END {printf sum}')"
         if [ $((ipv4_all)) -gt 0 ] && [ $((ipv4_blk)) -gt 0 ] && [ $((ipv4_all)) -gt $((ipv4_blk)) ]
         then
             ipv4_pct="$(printf "${ipv4_blk}" | awk -v all="${ipv4_all}" '{printf( "%5.2f\n",$1/all*100)}')"
+        elif [ $((ipv4_all)) -lt $((ipv4_blk)) ]
+        then
+            iptables -t nat -Z adb-nat
         fi
     fi
     if [ -n "${adb_wanif6}" ]
     then
-        ipv6_blk="$(ip6tables -t nat -vnL adb-nat | awk '$3 ~ /^DNAT$/ {sum += $1} END {printf sum}')"
-        ipv6_all="$(ip6tables -t nat -vnL PREROUTING | awk '$3 ~ /^(adb-nat|DNAT)$/ {sum += $1} END {printf sum}')"
+        ipv6_blk="$(ip6tables -t nat -vxnL adb-nat | awk '$3 ~ /^DNAT$/ {sum += $1} END {printf sum}')"
+        ipv6_all="$(ip6tables -t nat -vxnL PREROUTING | awk '$3 ~ /^(adb-nat|DNAT)$/ {sum += $1} END {printf sum}')"
         if [ $((ipv6_all)) -gt 0 ] && [ $((ipv6_blk)) -gt 0 ] && [ $((ipv6_all)) -gt $((ipv6_blk)) ]
         then
             ipv6_pct="$(printf "${ipv6_blk}" | awk -v all="${ipv6_all}" '{printf( "%5.2f\n",$1/all*100)}')"
+        elif [ $((ipv6_all)) -lt $((ipv6_blk)) ]
+        then
+            ip6tables -t nat -Z adb-nat
         fi
     fi
     "${adb_uci}" -q set "adblock.global.adb_percentage=${ipv4_pct}%/${ipv6_pct}%"
index 017da468e997c41402058606717dd1cae1a19712..ea7f67810a875c6d92e29813d379e7296eec9408 100755 (executable)
@@ -10,7 +10,7 @@
 #
 adb_pid="${$}"
 adb_pidfile="/var/run/adblock.pid"
-adb_scriptver="1.4.0"
+adb_scriptver="1.4.1"
 adb_mincfgver="2.2"
 adb_scriptdir="${0%/*}"
 if [ -r "${adb_pidfile}" ]