lib/Nagios/Check/DNS/delegation.pm
changeset 26 d465c78373ca
parent 25 88749a69668e
child 27 beeac1cf82ed
equal deleted inserted replaced
25:88749a69668e 26:d465c78373ca
    87 sub ns {
    87 sub ns {
    88     my $domain = shift;
    88     my $domain = shift;
    89     ### assert: @_ % 2 == 0
    89     ### assert: @_ % 2 == 0
    90     my %resflags = (nameservers => \@extns, @_);
    90     my %resflags = (nameservers => \@extns, @_);
    91     my $aa = delete $resflags{aa};
    91     my $aa = delete $resflags{aa};
    92     my $override = delete $resflags{override};
       
    93     my $nameservers = join ',' => @{$resflags{nameservers}};
    92     my $nameservers = join ',' => @{$resflags{nameservers}};
    94     my @ns;
    93     my @ns;
    95 
       
    96     return sort @{$override->{$domain}} if exists $override->{$domain};
       
    97 
    94 
    98     my $r = Net::DNS::Resolver->new(%resflags);
    95     my $r = Net::DNS::Resolver->new(%resflags);
    99     my $q;
    96     my $q;
   100 
    97 
   101     for (my $i = 3; $i; --$i) {
    98     for (my $i = 3; $i; --$i) {
   139 sub ns_ok {
   136 sub ns_ok {
   140     my ($domain, $references, $is_override) = @_;
   137     my ($domain, $references, $is_override) = @_;
   141 
   138 
   142     my (@errs, @ns);
   139     my (@errs, @ns);
   143     # obtain an authoritive list of nameservers from the reference server
   140     # obtain an authoritive list of nameservers from the reference server
   144     #my @our = eval { sort +ns($domain, nameservers => [$reference], aa => 1, override => $override) };
       
   145     my @our = eval { sort +ns($domain, nameservers => $references, aa => 1) };
   141     my @our = eval { sort +ns($domain, nameservers => $references, aa => 1) };
   146     if (chomp $@) {
   142     if (chomp $@) {
   147         push @errs, $@;
   143         push @errs, $@;
   148         push @our, $@;
   144         push @our, $@;
   149     }
   145     }