%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 # save_acls.cgi # Update all the acl directives use strict; use warnings; no warnings 'redefine'; no warnings 'uninitialized'; our (%access, %text, %in, %config); require './bind8-lib.pl'; $access{'defaults'} || &error($text{'acls_ecannot'}); &error_setup($text{'acls_err'}); &ReadParse(); # Convert inputs into ACL structures my %depmap = ( ); &lock_file(&make_chroot($config{'named_conf'})); my $conf = &get_config(); my $name; my @acls; for(my $i=0; defined($name = $in{"name_$i"}); $i++) { next if (!$name); $name =~ /^\S+$/ && $name !~ /;/ || &error(&text('acls_ename', $name)); $in{"values_$i"} =~ s/\r//g; my @vals = split(/\n+/, $in{"values_$i"}); foreach my $v (@vals) { if ($v =~ /^[0-9\.]+\s+\S/ && $v !~ /;/) { &error(&text('acls_eline', $name)); } } push(@acls, { 'name' => 'acl', 'values' => [ $name ], 'type' => 1, 'members' => [ map { my ($n, @w)=split(/\s+/, $_); { 'name' => $n, 'values' => \@w } } @vals ] }); # Record this ACL as a dependency of some ACL it refers to foreach (@vals) { my ($n, @w)=split(/\s+/, $_); if ($n !~ /^[0-9\.]+$/) { push(@{$depmap{$n}}, $name); } } } # Sort the list so that depended-on ACLs come first @acls = sort { my $an = $a->{'values'}->[0]; my $bn = $b->{'values'}->[0]; &indexof($an, @{$depmap{$bn}}) >= 0 ? 1 : &indexof($bn, @{$depmap{$an}}) >= 0 ? -1 : 0 } @acls; &save_directive(&get_config_parent(), 'acl', \@acls, 0, 0, 1); &flush_file_lines(); &unlock_file(&make_chroot($config{'named_conf'})); &webmin_log("acls", undef, undef, \%in); &redirect("");