X-Git-Url: http://dxcluster.net/gitweb/gitweb.cgi?a=blobdiff_plain;f=perl%2Fcreate_master_badip_files.pl;h=37e1747a618923800220d8ecd366b01f5207a11a;hb=d41556c82d7af6d68d9d659bd486be775f82295d;hp=0a9f5ba6e034b880c1d62a4c858fe4e735d9ded9;hpb=81404bc642ad4ebddcfbf69aec1da3a90be75f20;p=spider.git diff --git a/perl/create_master_badip_files.pl b/perl/create_master_badip_files.pl index 0a9f5ba6..37e1747a 100755 --- a/perl/create_master_badip_files.pl +++ b/perl/create_master_badip_files.pl @@ -8,19 +8,21 @@ use 5.16.1; # search local then perl directories +use strict; + BEGIN { # root of directory tree for this system - $root = "/spider"; + our $root = "/spider"; $root = $ENV{'DXSPIDER_ROOT'} if $ENV{'DXSPIDER_ROOT'}; mkdir "$root/local_data", 02777 unless -d "$root/local_data"; unshift @INC, "$root/perl"; # this IS the right way round! unshift @INC, "$root/local"; - $data = "$root/data"; + our $data = "$root/data"; } -use strict; + use DXVars; use SysVar; @@ -31,6 +33,7 @@ use LWP::Simple; use JSON; use Date::Parse; use File::Copy; +use DXUtil; DXDebug::dbginit(); @@ -67,6 +70,7 @@ my $data = decode_json($content); my $now = time; my $ecount = 0; my $rcount = 0; +my $error = 0; my $rand = rand; open RELAY, ">$relayfn.$rand" or die "$0: cannot open $relayfn $!"; @@ -83,25 +87,35 @@ foreach my $e (@{$data->{relays}}) { my $es = join ', ', @exit; dbg "$0: $e->{nickname} $e->{last_seen} relays: [$ors] exits: [$es]" if $debug; for (@or) { - print RELAY "$_\n"; - ++$rcount; + if (is_ipaddr($_)) { + print RELAY "$_\n"; + ++$rcount; + } else { + print STDERR "$_\n"; + ++$error; + } } for (@exit) { - print EXIT "$_\n"; - ++$ecount; + if (is_ipaddr($_)) { + print EXIT "$_\n"; + ++$ecount; + } else { + print STDERR "$_\n"; + ++$error; + } } } close RELAY; close EXIT; -dbg("$0: $rcount relays $ecount exits found"); +dbg("$0: $rcount relays $ecount exits $error error(s) found."); move "$relayfn.$rand", $relayfn if $rcount; move "$exitfn.$rand", $exitfn if $ecount; unlink "$relayfn.$rand"; unlink "$exitfn.$rand"; -exit 0; +exit $error; sub clean_addr {