Server IP : 195.201.23.43 / Your IP : 3.141.35.52 Web Server : Apache System : Linux webserver2.vercom.be 5.4.0-192-generic #212-Ubuntu SMP Fri Jul 5 09:47:39 UTC 2024 x86_64 User : kdecoratie ( 1041) PHP Version : 7.1.33-63+ubuntu20.04.1+deb.sury.org+1 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_get_handler,pcntl_signal_dispatch,pcntl_get_last_error,pcntl_strerror,pcntl_sigprocmask,pcntl_sigwaitinfo,pcntl_sigtimedwait,pcntl_exec,pcntl_getpriority,pcntl_setpriority,pcntl_async_signals, MySQL : OFF | cURL : ON | WGET : ON | Perl : ON | Python : OFF | Sudo : ON | Pkexec : ON Directory : /usr/share/webmin/bind8/ |
Upload File : |
#!/usr/bin/perl # save_keys.cgi # Update all the key directives use strict; use warnings; no warnings 'redefine'; no warnings 'uninitialized'; our (%access, %text, %in, %config); require './bind8-lib.pl'; $access{'defaults'} || &error($text{'keys_ecannot'}); &error_setup($text{'keys_err'}); &ReadParse(); &lock_file(&make_chroot($config{'named_conf'})); my $conf = &get_config(); my @old = &find("key", $conf); my $id; my @keys; for(my $i=0; defined($id = $in{"id_$i"}); $i++) { next if (!$id); $id =~ /^\S+$/ || &error(&text('keys_ekey', $id)); $in{"secret_$i"} =~ /^\S+$/ || &error(&text('keys_esecret', $id)); my $k = { 'name' => 'key', 'type' => 1 }; $k->{'members'} = $old[$i] ? $old[$i]->{'members'} : [ ]; $k->{'values'} = [ $id ]; &save_directive($k, "algorithm", [ { 'name' => 'algorithm', 'values' => [ $in{"alg_$i"} ] } ], 1, 1); &save_directive($k, "secret", [ { 'name' => 'secret', 'values' => [ $in{"secret_$i"} ] } ], 1, 1); push(@keys, $k); } &save_directive(&get_config_parent(), 'key', \@keys, 0); &flush_file_lines(); &unlock_file(&make_chroot($config{'named_conf'})); &webmin_log("keys", undef, undef, \%in); &redirect("");Private