From: ianmdlvl Date: Fri, 11 Jan 2002 23:43:14 +0000 (+0000) Subject: Check glueless nameservers, too - properly. X-Git-Tag: debian_version_2_2_0~6 X-Git-Url: http://www.chiark.greenend.org.uk/ucgi/~ian/git?p=chiark-utils.git;a=commitdiff_plain;h=4187fdc83f9b19fc5024ded6f43186b9f5fd7908 Check glueless nameservers, too - properly. --- diff --git a/scripts/named-conf b/scripts/named-conf index bad6caa..5e694a3 100755 --- a/scripts/named-conf +++ b/scripts/named-conf @@ -391,8 +391,8 @@ 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, $sa); + my (@s, $s, $a, %s2g, @glue, $glue, $delgs_or_auths, $wwn, $ww); + my ($rcode); $ww= "[$uaddr] $wa"; verbose("checking delegation by $ww"); dig(sub { @@ -401,6 +401,7 @@ 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; } }, @@ -422,9 +423,9 @@ sub zone_check_nsrrset ($$$$) { grep { has_suffix_of($s,".$_"); } @{ $cfg->{'conv_glueless'} }; ($rcode,@glue)= lookup($s,'a','0',"glueless NS from $ww"); - } - foreach ($sa) { - zone_server_addr($sa,$s,$wwn,"NS [$uaddr]",0); + foreach $a (@glue) { + zone_server_addr($a,$s,"glueless NS from $ww","NS [$uaddr]",0); + } } $glue= join ' ', sort @glue; push @{ $glue{$s}{$glue} }, $ww;