#!/bin/sh

#version 2.0
#check if countryblock running
export resultr=`pfctl -s rules | grep -c countryblock`
#echo $resultr
if [ "$resultr" -gt "0" ]; then
	echo running
	exit 1
else
	echo not running
	/usr/bin/logger -s "Countryblock was found not running"
	echo "Countryblock not running" | /usr/local/bin/php /usr/local/www/packages/countryblock/email_send.php
fi

pfctl -t countryblock -T kill
sed -i -e '/countryblock/d' /tmp/rules.debug

#Now edit /tmp/rules.debug

#find my line for table
export i=`grep -n 'block quick from any to <snort2c>' /tmp/rules.debug | grep -o '[0-9]\{2,4\}'`
export t=`grep -n 'User Aliases' /tmp/rules.debug |grep -o '[0-9]\{1,2\}'`

i=$(($i+'1'))
t=$(($t+'1'))
#i = line where <snort2c> is
#t is where 'User Aliases' is
echo $i
echo $t

rm /tmp/rules.debug.tmp

#Insert table-entry limit 
sed -i -e '/900000/d' /tmp/rules.debug
while read line
	do a=$(($a+1)); 
	#echo $a;
	if [ "$a" = "$t" ]; then
		echo "" >> /tmp/rules.debug.tmp
		echo "set limit table-entries 900000" >> /tmp/rules.debug.tmp
	fi
	echo $line >> /tmp/rules.debug.tmp
done < "/tmp/rules.debug"

mv /tmp/rules.debug /tmp/rules.debug.old
mv /tmp/rules.debug.tmp /tmp/rules.debug

pfctl -o basic -f /tmp/rules.debug > errorOUT.txt 2>&1

rm /tmp/rules.debug.tmp

#Insert countryblock rules
a="0"
echo $a
while read line
	do a=$(($a+1));
	echo $a; 
	if [ "$a" = "$i" ]; then
		echo "" >> /tmp/rules.debug.tmp
		echo "#countryblock" >> /tmp/rules.debug.tmp
		echo "table <countryblock> persist file '/usr/local/www/packages/countryblock/lists/countries.txt'" >> /tmp/rules.debug.tmp
		echo "table <countryblockW> persist file '/usr/local/www/packages/countryblock/countries-white.txt'" >> /tmp/rules.debug.tmp

		for i in $(cat /usr/local/www/packages/countryblock/interfaces.txt); do
			echo "pass quick from <countryblockW> to $i label 'countryblock'" >> /tmp/rules.debug.tmp
			echo "pass quick from $i to <countryblockW> label 'countryblock'" >> /tmp/rules.debug.tmp
			if [ -f logging ]; then
				echo "block log quick from <countryblock> to $i label 'countryblock'" >> /tmp/rules.debug.tmp
			else
				echo "block quick from <countryblock> to $i label 'countryblock'" >> /tmp/rules.debug.tmp
			fi
			if [ -f OUTBOUND ]; then
				echo "block quick from $i to <countryblock> label 'countryblock'" >> /tmp/rules.debug.tmp
			fi
		done
	fi
	echo $line >> /tmp/rules.debug.tmp
done < "/tmp/rules.debug"

mv /tmp/rules.debug /tmp/rules.debug.old
mv /tmp/rules.debug.tmp /tmp/rules.debug

rm errorOUT.txt
pfctl -o basic -f /tmp/rules.debug > /usr/local/www/packages/countryblock/errorOUT.txt 2>&1