--- 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 <domain>
+ dnssec-info [-s|--server <server>] <domain>
=head1 DESCRIPTION
@@ -93,6 +95,11 @@
Helpful information.
+=item B<-s>|B<--server> I<server>
+
+Send the query to a specific DNS server. (default: depend on your local settings)
+
+
=back
=cut
--- 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;