File: //proc/self/root/scripts.20110531.215904.25158/makesecondary
#!/usr/bin/perl
use Socket;
open(CONF,"/etc/wwwacct.conf") || die "/etc/wwwacct.conf not found\n";
while(<CONF>) {
$_ =~ s/\n//g;
if ($_ !~ /^;/) {
if ($_ =~ /DNSMASTER/) {
(undef,$dnsmaster) = split(/ /, $_);
}
}
}
close(CONF);
$dnsmaster =~ s/\s//g;
$primarydns = $dnsmaster;
if ($dnsmaster !~ /\d+\.\d+\.\d+\.\d+/) {
$thersockaddr = gethostbyname("$dnsmaster");
if ($thersockaddr ne "") {
$xip = inet_ntoa($thersockaddr);
}
$primarydns = $xip;
}
system("cp -f /etc/named.conf /etc/named.conf.primary");
system("cp -f /etc/named.conf /etc/named.out");
$noop = 0;
open(NAMEDCONF,">/etc/named.conf");
open(SEC,"/etc/named.out");
while (<SEC>) {
next if ($_ =~ /^\/\//);
if ($_ =~ /type master/) {
$eoz = '';
$eoz = " type slave;\n";
$eoz = $eoz . " masters {\n";
$eoz = $eoz . " $primarydns;\n";
$eoz = $eoz . " };\n";
print NAMEDCONF $eoz;
} elsif ($_ =~ /notify yes/) {
print "";
} elsif ($_ =~ /allow-update/) {
print "";
} elsif ($_ =~ /file[\s\t]*\"([^\"]+)\"/) {
if ($1 !~ /^\//) {
print NAMEDCONF " file \"/var/named/$1\";\n";
} else {
print NAMEDCONF "$_";
}
} elsif ($_ =~ /also-notify/) {
$noop = 1;
} elsif ($_ =~ /};/) {
if ($noop ne "1") {
print NAMEDCONF $_;
}
$noop = 0;
} else {
if ($noop ne "1") {
print NAMEDCONF $_;
}
}
}
close(SEC);
close(NAMEDCONF);
system("/usr/sbin/ndc reload");