Преглед на файлове

Fix ban/restore ban numbers.

Yannick Boetzel преди 5 години
родител
ревизия
b4d9b12029
променени са 1 файла, в които са добавени 4 реда и са изтрити 2 реда
  1. 4 2
      50-fail2ban

+ 4 - 2
50-fail2ban

@@ -6,11 +6,13 @@ jails=($(printf -- '%s\n' "${lines[@]}" | grep -oP '\[\K[^\]]+' | sort | uniq))
 
 out=""
 for jail in ${jails[@]}; do
-    bans=$(printf -- '%s\n' "${lines[@]}" | grep -iP "[[:digit:]]+ \[$jail\] ?(?:restore)? ban" | awk '{print $1}')
+    bans=$(printf -- '%s\n' "${lines[@]}" | grep -iP "[[:digit:]]+ \[$jail\] ban" | awk '{print $1}')
+    restores=$(printf -- '%s\n' "${lines[@]}" | grep -iP "[[:digit:]]+ \[$jail\] restore ban" | awk '{print $1}')
     unbans=$(printf -- '%s\n' "${lines[@]}" | grep -iP "[[:digit:]]+ \[$jail\] unban" | awk '{print $1}')
     bans=${bans:-0} # default value
+    restores=${restores:-0} # default value
     unbans=${unbans:-0} # default value
-    diff=$(($bans-$unbans))
+    diff=$(($bans+$restores-$unbans))
     out+=$(printf "$jail, %+3s bans, %+3s unbans, %+3s active" $bans $unbans $diff)"\n"
 done