add IPv6 support to RBL scripts
This commit is contained in:
parent
5eae4ecb43
commit
523bf67d5c
2 changed files with 84 additions and 36 deletions
|
|
@ -2,16 +2,28 @@
|
|||
#
|
||||
# Expire old RBL records
|
||||
|
||||
listtype=$1
|
||||
if ! [[ "$listtype" =~ ^[4,6]+$ ]]; then
|
||||
echo "first parameter is mandatory and must be either 4 or 6."
|
||||
exit 1
|
||||
fi
|
||||
rblfile="/var/lib/rbldns/listv$listtype"
|
||||
maxage=96 # in hours
|
||||
rblfile="/var/lib/rbldns/list"
|
||||
|
||||
egrep '^[[:digit:]]{1,3}\.[[:digit:]]{1,3}\.[[:digit:]]{1,3}\.[[:digit:]]{1,3}' $rblfile | while read -r ip delimiter timestamp foo; do
|
||||
if [ "$timestamp" -gt "0" ]; then
|
||||
expiration=$(echo "$(date +%s)-$timestamp" | bc)
|
||||
if [ $listtype -eq 4 ]; then
|
||||
egrep '^[[:digit:]]{1,3}\.[[:digit:]]{1,3}\.[[:digit:]]{1,3}\.[[:digit:]]{1,3}' $rblfile | while read -r ip delimiter timestamp foo; do
|
||||
if [ "$timestamp" -gt "0" ]; then
|
||||
expiration=$(echo "$(date +%s)-$timestamp" | bc)
|
||||
|
||||
if [ "$expiration" -gt "$(($maxage * 3600))" ]; then
|
||||
#echo "DEBUG: entry $ip older than $maxage hours (expired $(($expiration / 3600)) hours ago)"
|
||||
sed -i "/^$ip.*# $timestamp.*$/d" $rblfile || echo "Error while deleting $ip: $?"
|
||||
fi
|
||||
fi
|
||||
done
|
||||
fi
|
||||
|
||||
if [ "$expiration" -gt "$(($maxage * 3600))" ]; then
|
||||
#echo "DEBUG: entry $ip older than $maxage hours (expired $(($expiration / 3600)) hours ago)"
|
||||
sed -i "/^$ip.*# $timestamp.*$/d" $rblfile || echo "Error while deleting $ip: $?"
|
||||
fi
|
||||
fi
|
||||
done
|
||||
# FIXME: ipv6 regex needed
|
||||
if [ $listtype -eq 6 ]; then
|
||||
:
|
||||
fi
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue