| Server IP : 182.53.201.61 / Your IP : 216.73.217.175 Web Server : Apache/2.2.15 (Fedora) System : Linux km10.dyndns.org 2.6.31.5-127.fc12.i686.PAE #1 SMP Sat Nov 7 21:25:57 EST 2009 i686 User : apache ( 48) PHP Version : 5.3.3 Disable Function : NONE MySQL : ON | cURL : ON | WGET : ON | Perl : ON | Python : ON | Sudo : ON | Pkexec : ON Directory : /usr/libexec/webmin/bind8/ |
Upload File : |
#!/usr/bin/perl
# Force a zone transfer for a slave domain
require './bind8-lib.pl';
&ReadParse();
$zone = &get_zone_name($in{'index'}, $in{'view'});
&can_edit_zone($zone) ||
&error($text{'master_ecannot'});
# Get config object
$bconf = $conf = &get_config();
if ($in{'view'} ne '') {
$view = $conf->[$in{'view'}];
$conf = $view->{'members'};
}
$zconf = $conf->[$in{'index'}]->{'members'};
$file = &find_value("file", $zconf);
$desc = &ip6int_to_net(&arpa_to_ip($zone->{'name'}));
&ui_print_header($desc, $text{'xfer_title'}, "",
undef, undef, undef, undef, &restart_links($zone));
# Get transfer source IP
$options = &find("options", $bconf);
$src = &find("transfer-source", $options->{'members'});
# Get master IPs
$masters = &find("masters", $zconf);
foreach $av (@{$masters->{'members'}}) {
push(@ips, join(" ", $av->{'name'}, @{$av->{'values'}}));
}
print &text('xfer_doing', join(" ", @ips)),"<br>\n";
$temp = &transname();
$rv = &transfer_slave_records($zone->{'name'}, \@ips, $temp,
$src ? $src->{'values'}->[0] : undef,
$src && @{$src->{'values'}} > 2 ?
$src->{'values'}->[2] : undef);
foreach $ip (@ips) {
if ($rv->{$ip}) {
print &text('xfer_failed', $ip,
"<font color=red>".&html_escape($rv->{$ip})."</font>"),
"<br>\n";
}
else {
print &text('xfer_done', $ip),"<br>\n";
}
}
print "<p>\n";
# Show records
if (-r $temp) {
@recs = &read_zone_file($temp, $zone->{'name'}.".", undef, undef, 0, 1);
print &text('xfer_count', scalar(@recs)),"<p>\n";
}
&unlink_file($temp);
&ui_print_footer("edit_slave.cgi?index=$in{'index'}&view=$in{'view'}",
$text{'master_return'});