# HG changeset patch # User Heiko Schlittermann (JUMPER) # Date 1428408891 -7200 # Node ID 52d1ff194af0c64b038ddb20e6ab62177e492fdf # Parent 48ba621bc598ebbf00526c4eec2d3a769f73e3be Added -s option (for nameserver) diff -r 48ba621bc598 -r 52d1ff194af0 bin/dnssec-info --- a/bin/dnssec-info Thu Apr 02 13:26:45 2015 +0200 +++ b/bin/dnssec-info Tue Apr 07 14:14:51 2015 +0200 @@ -31,7 +31,9 @@ sub main { my $domain; + my $server; GetOptions( + 's|server=s' => \$server, 'h|help' => sub { pod2usage(-exitval => 0) }, 'm|man' => sub { pod2usage( @@ -45,7 +47,7 @@ say $domain, "\n", '-' x length $domain; # get the dnskeys directory from the public available information - my @ki = keyinfo $domain; + my @ki = keyinfo {-server => $server }, $domain; # use Data::Dumper; # die Dumper \@ki; @@ -78,7 +80,7 @@ =head1 SYNOPSIS - dnssec-info + dnssec-info [-s|--server ] =head1 DESCRIPTION @@ -93,6 +95,11 @@ Helpful information. +=item B<-s>|B<--server> I + +Send the query to a specific DNS server. (default: depend on your local settings) + + =back =cut diff -r 48ba621bc598 -r 52d1ff194af0 lib/DNSSec.pm --- a/lib/DNSSec.pm Thu Apr 02 13:26:45 2015 +0200 +++ b/lib/DNSSec.pm Tue Apr 07 14:14:51 2015 +0200 @@ -7,11 +7,15 @@ our @EXPORT_OK = qw(keyset ksk keyinfo); -my $resolver = Net::DNS::Resolver->new; -$resolver->dnssec(1); sub keyset { + my %arg = %{+shift} if ref $_[0] eq ref {}; my $domain = shift; + + my $resolver = Net::DNS::Resolver->new( + $arg{-server} ? (nameservers => [$arg{-server}]) : ()); + $resolver->dnssec(1); + my $keys = $resolver->query($domain => (DNSKEY => 'IN')) or die $resolver->errorstring; @@ -25,7 +29,7 @@ } sub keyinfo { - my $ks = keyset shift; + my $ks = keyset @_; my @keyinfo; foreach my $k (ksk $ks->keys) { my %keyinfo;