| Server IP : 173.209.174.21 / Your IP : 216.73.216.89 Web Server : Apache/2.4.58 (Ubuntu) System : Linux wcfs-server 6.8.0-124-generic #124-Ubuntu SMP PREEMPT_DYNAMIC Tue May 26 13:00:45 UTC 2026 x86_64 User : nodor ( 1000) PHP Version : 8.3.6 Disable Function : NONE MySQL : OFF | cURL : ON | WGET : ON | Perl : ON | Python : OFF | Sudo : ON | Pkexec : OFF Directory : /proc/self/root/usr/share/webmin/bind8/ |
Upload File : |
#!/usr/bin/perl
# save_view.cgi
# Update an existing view
use strict;
use warnings;
no warnings 'redefine';
no warnings 'uninitialized';
our (%access, %text, %in);
require './bind8-lib.pl';
&ReadParse();
&error_setup($text{'view_err'});
my $pconf = &get_config_parent();
my $conf = $pconf->{'members'};
my $view = $conf->[$in{'index'}];
$access{'views'} || &error($text{'view_ecannot'});
&can_edit_view($view) || &error($text{'view_ecannot'});
$access{'ro'} && &error($text{'view_ecannot'});
# Save the view
&lock_file(&make_chroot($view->{'file'}));
&save_addr_match("match-clients", $view, 1);
&save_choice("recursion", $view, 1);
&save_address("allow-transfer", $view, 1);
&save_address("allow-query", $view, 1);
&save_address("also-notify", $view, 1);
&save_address("allow-notify", $view, 1);
if ($in{'transfer-source'})
{
&check_ipaddress($in{'transfer-source'}) || &error(&text('net_eaddr', $in{'transfer-source'}));
my @tvals;
push(@tvals, $in{'transfer-source'});
if (@tvals)
{
&save_directive($view, 'transfer-source',
[ { 'name' => 'transfer-source',
'values' => \@tvals } ], 1);
}
}
else
{
&save_directive($view, 'transfer-source', [], 1);
}
&flush_file_lines();
&unlock_file(&make_chroot($view->{'file'}));
&webmin_log("view", undef, $view->{'value'}, \%in);
&redirect("");