| 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
# create_forward.cgi
# Create a new forward zone
use strict;
use warnings;
no warnings 'redefine';
no warnings 'uninitialized';
# Globals
our (%access, %text, %in, %config);
require './bind8-lib.pl';
&ReadParse();
&error_setup($text{'dcreate_err'});
$access{'delegation'} || &error($text{'dcreate_ecannot'});
$access{'ro'} && &error($text{'master_ero'});
my $conf = &get_config();
my $vconf;
if ($in{'view'} ne '') {
my $view = $conf->[$in{'view'}];
&can_edit_view($view) || &error($text{'master_eviewcannot'});
$vconf = $view->{'members'};
}
else {
$vconf = $conf;
}
# validate inputs
if ($in{'rev'}) {
my $ipv4;
($ipv4 = &check_net_ip($in{'zone'})) ||
$config{'support_aaaa'} &&
(($in{'zone'} =~ /^([\w:]+)(\/\d+)$/) || &check_ip6address($1)) ||
&error(&text('create_enet', $in{'zone'}));
if ($ipv4) {
$in{'zone'} = &ip_to_arpa($in{'zone'});
}
else {
$in{'zone'} = &net_to_ip6int($1, ($2 ? substr($2, 1) : "" ));
}
}
else {
($in{'zone'} =~ /^[\d\.]+$/ || $in{'zone'} =~ /^[\d\:]+(\/[\d]+)?$/) &&
&error(&text('create_edom2', $in{'zone'}));
&valdnsname($in{'zone'}, 0, ".") ||
&error(&text('create_edom', $in{'zone'}));
}
$in{'zone'} =~ s/\.$//;
foreach my $z (&find("zone", $vconf)) {
if (lc($z->{'value'}) eq lc($in{'zone'})) {
&error($text{'master_etaken'});
}
}
# Create structure
my $dir = { 'name' => 'zone',
'values' => [ $in{'zone'} ],
'type' => 1,
'members' => [ { 'name' => 'type',
'values' => [ 'delegation-only' ] }
]
};
# Create zone directive
&create_zone($dir, $conf, $in{'view'});
&webmin_log("create", "delegation", $in{'zone'}, \%in);
# Get the new zone's index
my $idx = &get_zone_index($in{'zone'}, $in{'view'});
&add_zone_access($in{'zone'});
&redirect("edit_delegation.cgi?zone=$in{'zone'}&view=$in{'view'}");