| 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
# save_servers.cgi
# Update all the server directives
use strict;
use warnings;
no warnings 'redefine';
no warnings 'uninitialized';
our (%access, %text, %in, %config);
require './bind8-lib.pl';
$access{'defaults'} || &error($text{'servers_ecannot'});
&error_setup($text{'servers_err'});
&ReadParse();
&lock_file(&make_chroot($config{'named_conf'}));
my $conf = &get_config();
my @old = &find("server", $conf);
my $ip;
my @servers;
for(my $i=0; defined($ip = $in{"ip_$i"}); $i++) {
next if (!$ip);
&check_ipaddress($ip) || &check_ip6address($ip) ||
&error(&text('servers_eip', $ip));
$in{"trans_$i"} =~ /^\d*$/ ||
&error(&text('servers_etrans', $in{"trans_$i"}));
my $s = { 'name' => 'server',
'type' => 1 };
$s->{'members'} = $old[$i] ? $old[$i]->{'members'} : [ ];
$s->{'values'} = [ $ip ];
&save_directive($s, 'bogus',
$in{"bogus_$i"} ? [ { 'name' => 'bogus',
'values' => [ 'yes' ] } ] : [ ], 1, 1);
&save_directive($s, 'transfer-format',
$in{"format_$i"} ? [ { 'name' => 'transfer-format',
'values' => [ $in{"format_$i"} ] } ]
: [ ], 1, 1);
&save_directive($s, 'transfers',
$in{"trans_$i"} ne '' ? [ { 'name' => 'transfers',
'values' => [ $in{"trans_$i"} ] } ]
: [ ], 1, 1);
my @keys = split(/\0/, $in{"keys_$i"});
if (@keys) {
my @mems = map { { 'name' => $_ } } @keys;
&save_directive($s, 'keys',
[ { 'name' => 'keys',
'type' => 1,
'members' => \@mems } ], 1, 1);
}
else {
&save_directive($s, 'keys', [ ], 1, 1);
}
push(@servers, $s);
}
&save_directive(&get_config_parent(), 'server', \@servers, 0);
&flush_file_lines();
&unlock_file(&make_chroot($config{'named_conf'}));
&webmin_log("servers", undef, undef, \%in);
&redirect("");