aboutsummaryrefslogtreecommitdiffstats
path: root/config/ipblocklist/convert.pl
diff options
context:
space:
mode:
Diffstat (limited to 'config/ipblocklist/convert.pl')
-rw-r--r--config/ipblocklist/convert.pl67
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);
-}