X-Git-Url: http://www.chiark.greenend.org.uk/ucgi/~ian/git?a=blobdiff_plain;f=scripts%2Fnamed-conf;fp=scripts%2Fnamed-conf;h=bad6caa6c6cd2e42b866cf633ec01bbcbe92c68b;hb=cf503f01ed96dcf2baf27aefef986eb3420c630c;hp=965e5b87f3c086d699e7f7088661f6bf79f05ff8;hpb=0672e02d507bbf0625477b272c3df206e49851eb;p=chiark-utils.git diff --git a/scripts/named-conf b/scripts/named-conf index 965e5b8..bad6caa 100755 --- a/scripts/named-conf +++ b/scripts/named-conf @@ -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; }