equal
deleted
inserted
replaced
7 use File::Temp; |
7 use File::Temp; |
8 use Net::DNS; |
8 use Net::DNS; |
9 use Term::ReadKey; |
9 use Term::ReadKey; |
10 use base 'Exporter'; |
10 use base 'Exporter'; |
11 use if $] >= 5.020, experimental => 'smartmatch'; |
11 use if $] >= 5.020, experimental => 'smartmatch'; |
12 |
|
13 |
12 |
14 our @EXPORT = qw(ttl2h h2ttl parse delta nice edit update show get_key |
13 our @EXPORT = qw(ttl2h h2ttl parse delta nice edit update show get_key |
15 get_auth_info); |
14 get_auth_info); |
16 our @EXPORT_OK = (); |
15 our @EXPORT_OK = (); |
17 |
16 |
284 sub get_auth_info { |
283 sub get_auth_info { |
285 my $name = shift; |
284 my $name = shift; |
286 my %auth = (zone => undef, master => undef); |
285 my %auth = (zone => undef, master => undef); |
287 state $resolver = Net::DNS::Resolver->new; |
286 state $resolver = Net::DNS::Resolver->new; |
288 my $response = $resolver->send($name, 'SOA') |
287 my $response = $resolver->send($name, 'SOA') |
289 or die $resolver->errorstring, "\n"; |
288 or die $resolver->errorstring, "\n"; |
290 |
289 |
291 # use Data::Dumper; |
290 # use Data::Dumper; |
292 # die Dumper $response; |
291 # die Dumper $response; |
293 |
292 |
294 if (my @soa = grep { $_->type eq 'SOA' } $response->answer, $response->authority) { |
293 if (my @soa = grep { $_->type eq 'SOA' } $response->answer, |
295 die "got multiple soa records\n" if @soa > 1; |
294 $response->authority) |
296 my $soa = $soa[0]; |
295 { |
297 return ( |
296 die "got multiple soa records\n" if @soa > 1; |
298 name => $soa->name, |
297 my $soa = $soa[0]; |
299 mname => $soa->mname, |
298 return ( |
300 ) |
299 name => $soa->name, |
|
300 mname => $soa->mname, |
|
301 ); |
301 } |
302 } |
302 |
303 |
303 return $response->authority; |
304 return $response->authority; |
304 } |
305 } |
305 |
306 |