%PDF-1.5 %���� ºaâÚÎΞ-ÌE1ÍØÄ÷{òò2ÿ ÛÖ^ÔÀá TÎ{¦?§®¥kuµùÕ5sLOšuY
Server IP : 49.231.201.246 / Your IP : 216.73.216.248 Web Server : Apache/2.4.18 (Ubuntu) System : Linux 246 4.4.0-210-generic #242-Ubuntu SMP Fri Apr 16 09:57:56 UTC 2021 x86_64 User : root ( 0) PHP Version : 7.0.33-0ubuntu0.16.04.16 Disable Function : pcntl_alarm,pcntl_fork,pcntl_waitpid,pcntl_wait,pcntl_wifexited,pcntl_wifstopped,pcntl_wifsignaled,pcntl_wifcontinued,pcntl_wexitstatus,pcntl_wtermsig,pcntl_wstopsig,pcntl_signal,pcntl_signal_dispatch,pcntl_get_last_error,pcntl_strerror,pcntl_sigprocmask,pcntl_sigwaitinfo,pcntl_sigtimedwait,pcntl_exec,pcntl_getpriority,pcntl_setpriority, MySQL : OFF | cURL : ON | WGET : ON | Perl : ON | Python : ON | Sudo : ON | Pkexec : ON Directory : /usr/share/webmin/bind8/ |
Upload File : |
#!/usr/bin/perl # create_view.cgi use strict; use warnings; no warnings 'redefine'; no warnings 'uninitialized'; # Globals our (%access, %text, %in); require './bind8-lib.pl'; &error_setup($text{'vcreate_err'}); &ReadParse(); my $add_to_file = &add_to_file(); my $pconf = &get_config_parent($add_to_file); my $conf = $pconf->{'members'}; $access{'views'} == 1 || &error($text{'vcreate_ecannot'}); $access{'ro'} && &error($text{'vcreate_ecannot'}); # Validate inputs $in{'name'} =~ /^\S+$/ || &error($text{'vcreate_ename'}); my @views = &find("view", $conf); foreach my $v (@views) { &error($text{'vcreate_etaken'}) if ($v->{'value'} eq $in{'name'}); } $in{'class_def'} || $in{'class'} =~ /^[A-Za-z0-9]+$/ || &error($text{'vcreate_eclass'}); # Create the view &lock_file(&make_chroot($add_to_file)); my $dir = { 'name' => 'view', 'values' => [ $in{'name'}, $in{'class_def'} ? ( ) : ( $in{'class'} ) ], 'type' => 1, 'members' => [ ], 'file' => $add_to_file }; if (!$in{'match_def'}) { push(@{$dir->{'members'}}, { 'name' => 'match-clients', 'type' => 1, 'members' => [ map { { 'name' => $_ } } split(/\s+/, $in{'match'}) ] } ); } &save_directive($pconf, undef, [ $dir ], 0); &flush_file_lines(); &unlock_file(&make_chroot($add_to_file)); # Add to user's ACL if (!&can_edit_view($dir)) { $access{'vlist'} = join(" ", &unique( split(/\s+/, $access{'vlist'}), $in{'name'})); &save_module_acl(\%access); } &webmin_log("create", "view", $in{'name'}, \%in); &redirect("");