chiark / gitweb /
Check glueless nameservers, too.
authorianmdlvl <ianmdlvl>
Fri, 11 Jan 2002 23:39:54 +0000 (23:39 +0000)
committerianmdlvl <ianmdlvl>
Fri, 11 Jan 2002 23:39:54 +0000 (23:39 +0000)
scripts/named-conf

index 965e5b8..bad6caa 100755 (executable)
@@ -392,7 +392,7 @@ sub zone_investigate() {
 sub zone_check_nsrrset ($$$$) {
     my ($uaddr,$wa, $name_if_auth, $glueless_ok) = @_;
     my (@s, $s, %s2g, @glue, $glue, $delgs_or_auths, $wwn, $ww);
-    my ($rcode);
+    my ($rcode, $sa);
     $ww= "[$uaddr] $wa";
     verbose("checking delegation by $ww");
     dig(sub {
@@ -401,7 +401,6 @@ sub zone_check_nsrrset ($$$$) {
        } elsif ($dig_type eq 'a' && exists $s2g{$dig_owner}) {
            $wwn= "in glue from $ww";
            push @to_check, $dig_rdata, "$dig_owner, $wwn", $dig_owner, 0;
-           zone_server_addr($dig_rdata,$dig_owner,$wwn,"NS [$uaddr]",0);
            push @{ $s2g{$dig_owner} }, $dig_rdata;
        }
     },
@@ -424,6 +423,9 @@ sub zone_check_nsrrset ($$$$) {
                           @{ $cfg->{'conv_glueless'} };
            ($rcode,@glue)= lookup($s,'a','0',"glueless NS from $ww");
        }
+       foreach ($sa) {
+           zone_server_addr($sa,$s,$wwn,"NS [$uaddr]",0);
+       }
        $glue= join ' ', sort @glue;
        push @{ $glue{$s}{$glue} }, $ww;
     }