commit 217b238: [Minor] Asn: Use bgpdump if it is available

Vsevolod Stakhov vsevolod at highsecure.ru
Tue Jul 16 10:21:04 UTC 2019


Author: Vsevolod Stakhov
Date: 2019-07-16 11:17:00 +0100
URL: https://github.com/rspamd/rspamd/commit/217b238dfe2f74a8fa7ea7b5674cd68a585c9212 (HEAD -> master)

[Minor] Asn: Use bgpdump if it is available

---
 utils/asn.pl | 14 ++++++++++----
 1 file changed, 10 insertions(+), 4 deletions(-)

diff --git a/utils/asn.pl b/utils/asn.pl
index 42554cf5a..f283d0a08 100644
--- a/utils/asn.pl
+++ b/utils/asn.pl
@@ -8,12 +8,10 @@ use File::Fetch;
 use LWP::Simple;
 use PerlIO::gzip;
 use File::Basename;
-use Net::MRT;
 use URI;
 use Data::Dumper;
 
 $LWP::Simple::ua->show_progress(1);
-$Net::MRT::USE_RFC4760 = -1;
 
 my %config = (
     asn_sources => [
@@ -55,12 +53,18 @@ GetOptions(
     "ns-server=s@" => \$ns_servers,
     "help|?"       => \$help,
     "man"          => \$man,
-    "bgpdump"      => \$use_bgpdump
 ) or pod2usage(2);
 
 pod2usage(1) if $help;
 pod2usage( -exitval => 0, -verbose => 2 ) if $man;
 
+if ( -x bgpdump ) {
+    use_bgpdump = $1;
+} else {
+    warn "bgpdump is not found will try to use Net::MRT instead, results can be incomplete";
+}
+
+
 sub download_file {
     my ($u) = @_;
 
@@ -202,6 +206,9 @@ foreach my $u ( @{ $config{'bgp_sources'} } ) {
         }
     }
     else {
+        require Net::MRT;
+        $Net::MRT::USE_RFC4760 = -1;
+
         open( my $fh, "<:gzip", $fname )
           or die "Cannot open $fname: $!";
         while (my $dd = eval {Net::MRT::mrt_read_next($fh)}) {
@@ -317,7 +324,6 @@ asn.pl [options]
    --zone-v6              IPv6 zone (default: asn6.rspamd.com)
    --file-v4              IPv4 zone file (default: ./asn.zone)
    --file-v6              IPv6 zone (default: ./asn6.zone)
-   --bgpdump              Use bgpdump utility instead of NET::MRT
    --help                 Brief help message
    --man                  Full documentation
 


More information about the Commits mailing list