diff options
author | Tom Schaefer <tom@tomschaefer.org> | 2010-12-06 12:02:29 -0500 |
---|---|---|
committer | Tom Schaefer <tom@tomschaefer.org> | 2010-12-06 12:04:16 -0500 |
commit | 7ba42aa8f14fd2eb9e7e956ed7429591ab98ef91 (patch) | |
tree | 1b723417fa48409b0022a6b31399b7401b0a968c /config/ipblocklist/convert.pl | |
parent | f1bb4cef07fdeb29b5519f59041ae6e0e2bb4308 (diff) | |
download | pfsense-packages-7ba42aa8f14fd2eb9e7e956ed7429591ab98ef91.tar.gz pfsense-packages-7ba42aa8f14fd2eb9e7e956ed7429591ab98ef91.tar.bz2 pfsense-packages-7ba42aa8f14fd2eb9e7e956ed7429591ab98ef91.zip |
prep for major filestructure re-do
Diffstat (limited to 'config/ipblocklist/convert.pl')
-rw-r--r-- | config/ipblocklist/convert.pl | 67 |
1 files changed, 0 insertions, 67 deletions
diff --git a/config/ipblocklist/convert.pl b/config/ipblocklist/convert.pl deleted file mode 100644 index f3e9db12..00000000 --- a/config/ipblocklist/convert.pl +++ /dev/null @@ -1,67 +0,0 @@ -#!/usr/bin/perl -w -use strict; - -if($#ARGV != 1) { - print("Usage: $0 <input file> <output file>\n"); - exit(1); -} - -my ($line,$title,$iprange,$cidr); -my $i = 30000; - -open(INFILE,'<',$ARGV[0]) or die("Could not open input file $ARGV[0]"); -open(OUTFILE,'>>',$ARGV[1]) or die("Could not open output file $ARGV[1]"); - -foreach $line (<INFILE>) { - chomp($line); - $line =~ s/:((\d{1,3}[-\.]*){8})//; - $iprange = $1; - print OUTFILE "#$line\n"; - foreach $cidr (split(/\n/,range($iprange))) { - print OUTFILE "$cidr\n"; - #print OUTFILE "ipfw -q add 1000 drop ip from any to $cidr\n"; (version 0.1.4) - #$i++; - #print OUTFILE "ipfw -q add 1001 drop ip from $cidr to any\n"; (version 0.1.4) - #$i++; - } -} - -close(INFILE); -close(OUTFILE); - -sub ntoa { - return join ".",unpack("CCCC",pack("N",shift)); -} -sub aton { - return unpack 'N', pack 'C4', split/\./, shift; -} -sub deaggregate { - my $thirtytwobits = 4294967295; - my $start = shift; - my $end = shift; - my $base = $start; - my ($step,$output); - while ($base <= $end) { - $step = 0; - while (($base | (1 << $step)) != $base) { - if (($base | (((~0) & $thirtytwobits) >> (31-$step))) > $end) { - last; - } - $step++; - } - if($step == 0) { - $output .= ntoa($base); - }else{ - $output .= ntoa($base)."/" .(32-$step); - } - $output .= "\n"; - $base += 1 << $step; - } - return $output; -} -sub range { - my ($address,$address2) = split /-/, shift; - $address = aton($address); - $address2 = aton($address2); - return deaggregate($address,$address2); -} |