chiark
/
gitweb
/
~ian
/
chiark-utils.git
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
|
inline
| side by side (parent:
5ed8bc6
)
rationalise wrong soa warnings
author
ianmdlvl
<ianmdlvl>
Fri, 4 Jan 2002 23:13:08 +0000
(23:13 +0000)
committer
ianmdlvl
<ianmdlvl>
Fri, 4 Jan 2002 23:13:08 +0000
(23:13 +0000)
scripts/named-conf
patch
|
blob
|
history
diff --git
a/scripts/named-conf
b/scripts/named-conf
index a54db8277c5c26adfbe4dff32435ab21535f9f8c..6117dcb7351d8d7f170c638d81edb77249107f57 100755
(executable)
--- a/
scripts/named-conf
+++ b/
scripts/named-conf
@@
-306,14
+306,12
@@
sub zone_warning ($$) {
my ($w,$o) = @_;
my ($wk);
my ($w,$o) = @_;
my ($wk);
- $wk= $w;
- $wk =~ s/,.*// if !$repeat;
- return 0 if $warned{$w}{$wk}++;
+ return 0 if !$repeat && $warned{$w}++;
$w =~ s/\n$//;
$w =~ s,\n, // ,g;
$w =~ s/\n$//;
$w =~ s,\n, // ,g;
- print STDERR "$zone: warning: $w\n" or die $!;
+ print STDERR "$zone: warning: $w
($o)
\n" or die $!;
$warnings++;
return 1;
}
$warnings++;
return 1;
}
@@
-378,8
+376,8
@@
sub zone_investigate() {
sub zone_check_nsrrset ($$$$) {
my ($uaddr,$wa, $is_auth, $glueless_ok) = @_;
my (@s, $s, %s2g, @glue, $glue, $delgs_or_auths, $wwn, $ww);
sub zone_check_nsrrset ($$$$) {
my ($uaddr,$wa, $is_auth, $glueless_ok) = @_;
my (@s, $s, %s2g, @glue, $glue, $delgs_or_auths, $wwn, $ww);
- verbose("checking delegation by $ww");
$ww= "[$uaddr] $wa";
$ww= "[$uaddr] $wa";
+ verbose("checking delegation by $ww");
dig(sub {
if ($dig_type eq 'ns' && $dig_owner eq $zone) {
$s2g{lc $dig_rdata} = [ ];
dig(sub {
if ($dig_type eq 'ns' && $dig_owner eq $zone) {
$s2g{lc $dig_rdata} = [ ];
@@
-395,14
+393,14
@@
sub zone_check_nsrrset ($$$$) {
zone_warning("unable to find NS RRset at [$uaddr]", $wa);
return;
} elsif (keys %s2g == 1) {
zone_warning("unable to find NS RRset at [$uaddr]", $wa);
return;
} elsif (keys %s2g == 1) {
- zone_warning("only one nameserver",$ww);
+ zone_warning("only one nameserver ". (join '', keys %s2g),
+ $ww);
}
@s= sort keys %s2g;
foreach $s (@s) {
@glue= @{ $s2g{$s} };
if (!@glue) {
}
@s= sort keys %s2g;
foreach $s (@s) {
@glue= @{ $s2g{$s} };
if (!@glue) {
- zone_warning("glueless NS $s,".($needglue<=1 ? " (eg)" : ""),
- $ww)
+ zone_warning("glueless NS $s", $ww)
unless $glueless_ok || !$needglue ||
grep { has_suffix_of($s,".$_"); } @conv_glueless;
next;
unless $glueless_ok || !$needglue ||
grep { has_suffix_of($s,".$_"); } @conv_glueless;
next;
@@
-438,13
+436,20
@@
sub zone_server_addr ($$$$$) {
$addr_is_self= grep { $_ eq $addr }
@{ $cfg->{'self_addr'} };
if ($name_is_self && !$addr_is_self) {
$addr_is_self= grep { $_ eq $addr }
@{ $cfg->{'self_addr'} };
if ($name_is_self && !$addr_is_self) {
- zone_warning("our name $name with wrong address [$addr]",$ww);
- } elsif (!$name_is_self && $addr_is_self) {
- zone_warning(($is_soa ? "SOA ORIGIN maps to" : "referral to").
- " us [$addr] with wrong name $name",
+ zone_warning("our $name supplied with wrong address [$addr]", $ww);
+ }
+ if (!$name_is_self && $addr_is_self) {
+ zone_warning("we [$addr] are named in ".
+ ($is_soa ? "SOA" : "NS").
+ " by wrong name $name",
$ww);
}
$ww);
}
- $delg_to_us=1 if $name_is_self;
+ if (!$name_is_self && !$addr_is_self &&
+ $is_soa && $cfg->{'s'} =~ m/p/) {
+ zone_warning("SOA ORIGIN $name is not us (".
+ (join ' ', @{ $cfg->{'self_soa'} }).")", $ww);
+ }
+ $delg_to_us=1 if $name_is_self || $addr_is_self;
}
sub zone_check_soa ($$$) {
}
sub zone_check_soa ($$$) {
@@
-485,17
+490,6
@@
sub zone_consistency() {
}
zone_consistency_set("SOA ORIGIN and SERIAL",\%soas);
$self_soa= $cfg->{'self_soa'};
}
zone_consistency_set("SOA ORIGIN and SERIAL",\%soas);
$self_soa= $cfg->{'self_soa'};
- if ($cfg->{'s'} =~ m/p/) {
- foreach $org_ser (keys %soas) {
- $org_ser =~ m/^(\S+) \d+$/ or die "$org_ser ?";
- $origin= $1;
- next if grep { $_ eq $origin } @$self_soa;
- foreach $wa (@{ $soas{$org_ser} }) {
- zone_warning("SOA ORIGIN $origin is not our name (@$self_soa)",
- $wa);
- }
- }
- }
}
sub zone_servers_ok () {
}
sub zone_servers_ok () {
@@
-633,7
+627,7
@@
sub debug_trace ($) {
}
sub has_suffix_of ($$) {
}
sub has_suffix_of ($$) {
- my ($whole,$suffix);
+ my ($whole,$suffix)
= @_
;
return 0 if length $whole < length $suffix;
return 0 if substr($whole, length($whole) - length($suffix)) ne $suffix;
return 1;
return 0 if length $whole < length $suffix;
return 0 if substr($whole, length($whole) - length($suffix)) ne $suffix;
return 1;