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:
fe81384
)
Fix bugs.
author
ianmdlvl
<ianmdlvl>
Mon, 31 Dec 2001 16:20:54 +0000
(16:20 +0000)
committer
ianmdlvl
<ianmdlvl>
Mon, 31 Dec 2001 16:20:54 +0000
(16:20 +0000)
scripts/named-conf
patch
|
blob
|
history
diff --git
a/scripts/named-conf
b/scripts/named-conf
index 71ca37d38f82ab2c22ac458a9dcd6828359750eb..b6d0c0c3966d8875a53847cfd0e126199c7768b0 100755
(executable)
--- a/
scripts/named-conf
+++ b/
scripts/named-conf
@@
-127,12
+127,13
@@
sub read_config ($) {
@self= split /\s+/, $2;
@self_ns= @self if $1 ne '-soa';
@self_soa= @self if $1 ne '-ns';
@self= split /\s+/, $2;
@self_ns= @self if $1 ne '-soa';
@self_soa= @self if $1 ne '-ns';
- } elsif (m/^primary\-dir\s+(\S+)((?:\s+(\S+))?
?
:\s+(\S+))?$/) {
+ } elsif (m/^primary\-dir\s+(\S+)((?:\s+(\S+))?:\s+(\S+))?$/) {
($dir, $prefix, $suffix) = (qualify($1),$2,$3);
($dir, $prefix, $suffix) = (qualify($1),$2,$3);
- $suffix= '_db' if !length $suffix;
+ $suffix= '_db' if !defined $suffix;
+ $prefix= '' if !defined $prefix;
opendir D, $dir or cfg_fail("open primary-dir $dir:\n $!");
$lprefix= length $prefix; $lsuffix= length $suffix;
opendir D, $dir or cfg_fail("open primary-dir $dir:\n $!");
$lprefix= length $prefix; $lsuffix= length $suffix;
- while (
$!=0, $_= readdir D
) {
+ while (
defined($_= readdir D)
) {
next if m/^\./ && !$lprefix;
next unless length > $lprefix+$lsuffix;
next unless substr($_,0,$lprefix) eq $prefix;
next if m/^\./ && !$lprefix;
next unless length > $lprefix+$lsuffix;
next unless substr($_,0,$lprefix) eq $prefix;
@@
-140,7
+141,6
@@
sub read_config ($) {
$z= substr($_,$lprefix,length($_)-($lprefix+$lsuffix));
zone_conf($z,'primary',"$dir/$_");
}
$z= substr($_,$lprefix,length($_)-($lprefix+$lsuffix));
zone_conf($z,'primary',"$dir/$_");
}
- $! and cfg_fail("read primary-dir $dir:\n $!");
closedir D or cfg_fail("close primary-dir $dir:\n $!");
} elsif (m/^primary\s+(\S+)\s+(\S+)$/) {
zone_conf($1,'primary',qualify($2));
closedir D or cfg_fail("close primary-dir $dir:\n $!");
} elsif (m/^primary\s+(\S+)\s+(\S+)$/) {
zone_conf($1,'primary',qualify($2));
@@
-148,7
+148,7
@@
sub read_config ($) {
zone_conf($1,'secondary','',$2);
} elsif (m/^stealth\s+(\S+)\s+([0-9. \t]+)$/) {
zone_conf($1,'stealth','',split /\s+/, $2);
zone_conf($1,'secondary','',$2);
} elsif (m/^stealth\s+(\S+)\s+([0-9. \t]+)$/) {
zone_conf($1,'stealth','',split /\s+/, $2);
- } elsif (m/^slave\-dir\s+(\S+)((?:\s+(\S+))?
?
:\s+(\S+))?$/) {
+ } elsif (m/^slave\-dir\s+(\S+)((?:\s+(\S+))?:\s+(\S+))?$/) {
($slave_dir, $slave_prefix, $slave_suffix) = (qualify($1),$2,$3);
} elsif (m/^output\s+bind8\+(\S+)$/) {
cfg_fail("default output may not apply to only some zones")
($slave_dir, $slave_prefix, $slave_suffix) = (qualify($1),$2,$3);
} elsif (m/^output\s+bind8\+(\S+)$/) {
cfg_fail("default output may not apply to only some zones")
@@
-167,6
+167,7
@@
sub read_config ($) {
sub qualify ($) {
my ($i) = @_;
$i= "$default_dir/$i" unless $i =~ m,^/,;
sub qualify ($) {
my ($i) = @_;
$i= "$default_dir/$i" unless $i =~ m,^/,;
+ return $i;
}
sub zone_conf ($$@) {
}
sub zone_conf ($$@) {