| Server IP : 127.0.0.1 / Your IP : 216.73.216.109 Web Server : Apache/2.4.54 (Win64) OpenSSL/1.1.1q PHP/8.1.10 System : Windows NT DESKTOP-E5T4RUN 10.0 build 19045 (Windows 10) AMD64 User : SERVERWEB ( 0) PHP Version : 8.1.10 Disable Function : NONE MySQL : OFF | cURL : ON | WGET : OFF | Perl : OFF | Python : OFF | Sudo : OFF | Pkexec : OFF Directory : C:/cygwin64/home/SERVERWEB/webmin-2.105/bind8/ |
Upload File : |
#!/usr/bin/perl
# convert_slave.cgi
# Convert a slave/stub zone into a master
use strict;
use warnings;
no warnings 'redefine';
no warnings 'uninitialized';
# Globals
our (%access, %text, %in);
require './bind8-lib.pl';
&ReadParse();
&error_setup($text{'convert_err'});
my $zone = &get_zone_name_or_error($in{'zone'}, $in{'view'});
my $zconf = &zone_to_config($zone);
$access{'master'} || &error($text{'mcreate_ecannot'});
my $file = &find_value("file", $zconf->{'members'});
if (!$file) {
&error($text{'convert_efile'});
}
$file = &make_chroot(&absolute_path($file));
if (!-s $file) {
&error(&text('convert_efilesize', $file));
}
&lock_file(&make_chroot($zconf->{'file'}));
# Change the type directive
&save_directive($zconf, 'type', [ { 'name' => 'type',
'values' => [ 'master' ] } ], 1);
# Take out directives not allowed in masters
&save_directive($zconf, 'masters', [ ], 1);
&save_directive($zconf, 'max-transfer-time-in', [ ], 1);
&flush_file_lines();
&unlock_file(&make_chroot($zconf->{'file'}));
# Convert from binary slave format to text
if (&is_raw_format_records($file)) {
&has_command("named-compilezone") ||
&error($text{'convert_ebinary'});
my $temp = &transname();
©_source_dest($file, $temp);
my $out = &backquote_logged("named-compilezone -f raw -F text ".
"-o $file $zone->{'name'} $temp 2>&1");
&error(&text('convert_ecompile', "<tt>".&html_escape($out)."</tt>"))
if ($?);
&unlink_file($temp);
}
&redirect("");