#!/usr/bin/perl -w # # Coded by Deniss (deniss at fuckoff.com) 2002 # # $today_date=`/bin/date`; chop($today_date); open(LOG_FILE, '>>/var/log/ipchains_reload') || die "Error open LOG File"; print LOG_FILE "LV-chain update at $today_date\n"; system("/sbin/ipchains","-N","onlylv"); system("/sbin/ipchains","-F","onlylv"); open(LV_FILE, '/usr/local/adm/local.net.last') || die "Error open LV File"; while () { tr/\r\n//d; s/( )+/ /gs; # Deleting spaces s/~\s+//; s/\s+$//; @check=split "/"; if (($check[0] !~ /^([01]?\d?\d|2[0-4]\d|25[0-5])\.([01]?\d?\d|2[0-4]\d|25[0-5])\.([01]?\d?\d|2[0-4]\d|25[0-5])\.([01]?\d?\d|2[0-4]\d|25[0-5])$/ ) || ($check[1] !~ /\d+$/)) { print LOG_FILE "hack:/$check[0]/$check[1]/\n"; } else { $i_rule="/sbin/ipchains -A onlylv -d ".$check[0]."/".$check[1]." -j ACCEPT"; print LOG_FILE "$i_rule\n"; system($i_rule); }; }; system("/sbin/ipchains","-A","onlylv","-j","DENY"); close(LV_FILE); close(LOG_FILE);