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 {
} 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;
}
},
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;