Compare commits

...

40 Commits

Author SHA1 Message Date
Ilia Ross
6574373761 Fix to detect NetworkManager networking on Debian
ⓘ Prefer Netplan when Debian has Netplan YAML config, otherwise select the existing NetworkManager backend for Debian systems with saved NM connection profiles, with regression tests for backend selection.

https://github.com/webmin/webmin/issues/2559
2026-06-02 01:33:59 +02:00
Ilia Ross
b33b9fb0a0 Fix NetworkManager IPv6 DNS nameserver saving
Some checks failed
Tests / prove (push) Has been cancelled
Build / build (push) Has been cancelled
Close inactive / close-inactive (push) Has been cancelled
https://github.com/webmin/webmin/issues/2559
2026-06-02 01:12:24 +02:00
Ilia Ross
8ef12b66d7 Add Lucky Mobile SMS carrier #2738
Some checks failed
Tests / prove (push) Has been cancelled
Build / build (push) Has been cancelled
Close inactive / close-inactive (push) Has been cancelled
2026-06-01 01:00:11 +02:00
Ilia Ross
8df083b054 Fix Bell Canada SMS gateway domain #2739 2026-06-01 00:58:41 +02:00
Ilia Ross
435d2db4c6 Fix to use stronger defaults for generated keys
https://github.com/webmin/webmin/issues/2728
2026-05-31 20:42:33 +02:00
Ilia Ross
57b1ae3b18 Fix PHP-FPM monitor for EL /etc/php.ini
Some checks failed
Tests / prove (push) Has been cancelled
Build / build (push) Has been cancelled
* Note: Map the shared EL PHP configuration file /etc/php.ini to the php-fpm boot action when that service exists, so the PHP-FPM status monitor can resolve current status on Rocky/RHEL systems.

root@rocky9-pro:~# php-fpm -i | grep "Loaded Configuration File"
Loaded Configuration File => /etc/php.ini

https://github.com/webmin/webmin/issues/2599
2026-05-31 16:14:38 +02:00
Jamie Cameron
fd79acd840 Properly quote and escape commands
Some checks failed
Tests / prove (push) Has been cancelled
Build / build (push) Has been cancelled
Close inactive / close-inactive (push) Has been cancelled
2026-05-30 10:22:17 -07:00
Ilia Ross
184887d365 Fix to use direct ACL checks in Kea DHCP module
Some checks failed
Tests / prove (push) Has been cancelled
Build / build (push) Has been cancelled
Close inactive / close-inactive (push) Has been cancelled
*Note: Removes Kea-specific ACL wrapper helpers and switches ACL editor/runtime checks to standard Webmin handling with direct supplied ACL values and get_module_acl checks.
2026-05-30 02:53:48 +02:00
Ilia Ross
111dcb5f21 Fix to preserve submodule context in Virtualmin flows
Some checks failed
Tests / prove (push) Has been cancelled
Build / build (push) Has been cancelled
https://forum.virtualmin.com/t/editing-server-block-configure-nginx-website-does-not-reload-nginx/137282/16?u=ilia
2026-05-30 02:29:04 +02:00
Ilia Ross
7cf7d14f53 Fix module desc 2026-05-29 22:25:42 +02:00
Ilia Ross
35a7459950 Fix temp file delete path validation
Some checks failed
Tests / prove (push) Has been cancelled
Build / build (push) Has been cancelled
2026-05-29 16:59:05 +02:00
Jamie Cameron
5a9d2a2ca5 Merge pull request #2743 from webmin/dev/grub2
Some checks failed
Tests / prove (push) Has been cancelled
Build / build (push) Has been cancelled
Close inactive / close-inactive (push) Has been cancelled
Add GRUB 2 boot loader module
2026-05-28 13:17:00 -07:00
Ilia Ross
3bc901fcb1 Remove pull request code review workflow [no-build] 2026-05-28 21:57:16 +02:00
Ilia Ross
270e26172b Fix theme
Some checks failed
Tests / prove (push) Has been cancelled
Build / build (push) Has been cancelled
Close inactive / close-inactive (push) Has been cancelled
2026-05-28 02:21:57 +02:00
Jamie Cameron
5b58330071 Improve wording
Some checks failed
Tests / prove (push) Has been cancelled
Build / build (push) Has been cancelled
Close inactive / close-inactive (push) Has been cancelled
https://github.com/webmin/webmin/issues/2726
2026-05-25 21:19:18 -07:00
Jamie Cameron
292d0d5a1f Quote new DB name so that case is preserved
Some checks failed
Tests / prove (push) Has been cancelled
Build / build (push) Has been cancelled
Close inactive / close-inactive (push) Has been cancelled
https://github.com/webmin/webmin/issues/2727
2026-05-24 13:43:53 -07:00
Jamie Cameron
c9ce2ed6d8 Merge branch 'master' of github.com:webmin/webmin 2026-05-24 13:15:34 -07:00
Jamie Cameron
9b404f8feb Merge pull request #2741 from webmin/dev/postfix-tests-and-perlcritic
Postfix tests, perlcritic, strict/warnings, bugfixes
2026-05-24 13:10:38 -07:00
Jamie Cameron
197df80055 Merge branch 'master' of github.com:webmin/webmin 2026-05-24 13:09:03 -07:00
Jamie Cameron
6f4f85d33c Add UI option to control when update email is sent
https://github.com/webmin/webmin/issues/2726
2026-05-24 13:08:58 -07:00
Jamie Cameron
73821b72b0 Merge pull request #2729 from swelljoe/web-lib-funcs-test-data-transforms
Some checks failed
Tests / prove (push) Has been cancelled
Build / build (push) Has been cancelled
Close inactive / close-inactive (push) Has been cancelled
Add web-lib-funcs data transform tests
2026-05-23 19:25:00 -07:00
Joe Cooper
2d21c31ce2 Fix fatal 500 due to strict 2026-05-23 19:32:55 -05:00
Joe Cooper
afffe48e01 Fix double declarations from mechanical conversion 2026-05-23 18:58:15 -05:00
Joe Cooper
3ea7135cb2 s/$a/$alias/ 2026-05-23 18:11:30 -05:00
Joe Cooper
e6eb1c4983 s/$a/$alias/ 2026-05-23 18:10:58 -05:00
Jamie Cameron
3780c1a9b5 Merge pull request #2730 from swelljoe/xterm-tests
xterm unit tests and minor refactor for testing
2026-05-23 16:05:54 -07:00
Joe Cooper
675c830e84 Postfix tests, perlcritic, bugfixes 2026-05-23 17:15:31 -05:00
Jamie Cameron
74393cd312 Merge pull request #2737 from webmin/dev/bind8-tests-and-perlcritic
Some checks failed
Tests / prove (push) Has been cancelled
Build / build (push) Has been cancelled
Add bind8 tests, perlcritic, minor fixes
2026-05-23 08:43:32 -07:00
Joe Cooper
09bdd71c8c Fix the opendir fix for list context 2026-05-23 01:15:14 -05:00
Joe Cooper
1e77343482 Don't use temp var for eval result, not idiomatic 2026-05-23 01:04:05 -05:00
Joe Cooper
4b33d8bc3f catch failed dnssec-tools import 2026-05-23 00:59:53 -05:00
Joe Cooper
4bb0cda0b5 Fix missing error check on opendir 2026-05-23 00:49:41 -05:00
Joe Cooper
87536b42a1 Fix date_serial race in test 2026-05-23 00:18:57 -05:00
Joe Cooper
1a7a28f192 Add bind8 tests, perlcritic, minor fixes 2026-05-22 23:54:11 -05:00
Joe Cooper
ed75034c98 No stringy eval 2026-05-21 19:19:46 -05:00
Joe Cooper
70cb2a700f Fix warnings 2026-05-21 19:12:23 -05:00
Joe Cooper
a24c79bb9f xterm unit tests and minor refactor for testing 2026-05-21 19:03:32 -05:00
Joe Cooper
2c4467a82e Handle lowercase 2FA secret 2026-05-21 18:01:25 -05:00
Joe Cooper
65c2a0da50 Fix warnings for undef in compare 2026-05-21 17:47:38 -05:00
Joe Cooper
da2090bad7 Add web-lib-funcs data transform tests 2026-05-21 17:21:44 -05:00
297 changed files with 3190 additions and 946 deletions

View File

@@ -1,12 +0,0 @@
name: Code Review
on:
pull_request:
branches:
- master
jobs:
code-review:
uses: webmin/webmin-ci-cd/.github/workflows/code-review.yml@main
secrets:
CODE_REVIEW_API_KEY: ${{ secrets.CODE_REVIEW_API_KEY }}

View File

@@ -35,21 +35,24 @@ return @rv;
# create_atjob(user, time, commands, directory, send-email) # create_atjob(user, time, commands, directory, send-email)
sub create_atjob sub create_atjob
{ {
my @tm = localtime($_[1]); my ($user, $tm, $cmds, $dir, $email) = @_;
my @tm = localtime($tm);
my $date = sprintf "%2.2d:%2.2d %d.%d.%d", my $date = sprintf "%2.2d:%2.2d %d.%d.%d",
$tm[2], $tm[1], $tm[3], $tm[4]+1, $tm[5]+1900; $tm[2], $tm[1], $tm[3], $tm[4]+1, $tm[5]+1900;
my $mailflag = $_[4] ? "-m" : ""; my $mailflag = $email ? "-m" : "";
no strict "subs"; no strict "subs";
&open_execute_command(AT, "su \"$_[0]\" -c \"cd $_[3] ; at $mailflag $date\" >/dev/null 2>&1", 0); my $fullcmd = &command_as_user($user, 0, "cd $dir ; at $mailflag $date");
print AT $_[2]; &open_execute_command(AT, "$fullcmd >/dev/null 2>&1", 0);
print AT $cmds;
close(AT); close(AT);
use strict "subs"; use strict "subs";
&additional_log('exec', undef, "su \"$_[0]\" -c \"cd $_[3] ; at $mailflag $date\""); &additional_log('exec', undef, $fullcmd);
} }
# delete_atjob(id) # delete_atjob(id)
sub delete_atjob sub delete_atjob
{ {
&system_logged("atrm \"$_[0]\" >/dev/null 2>&1"); my ($id) = @_;
&system_logged("atrm ".quotemeta($id)." >/dev/null 2>&1");
} }

View File

@@ -5,13 +5,13 @@ no warnings "redefine";
sub list_atjobs sub list_atjobs
{ {
local @rv; my @rv;
opendir(DIR, $config{'at_dir'}) || return (); opendir(DIR, $config{'at_dir'}) || return ();
while($f = readdir(DIR)) { while($f = readdir(DIR)) {
local $p = "$config{'at_dir'}/$f"; my $p = "$config{'at_dir'}/$f";
if ($f =~ /^(\d+)\.a(\S+)$/) { if ($f =~ /^(\d+)\.a(\S+)$/) {
local @st = stat($p); my @st = stat($p);
local $job = { 'id' => $f, my $job = { 'id' => $f,
'date' => $1, 'date' => $1,
'user' => scalar(getpwuid($st[4])), 'user' => scalar(getpwuid($st[4])),
'created' => $st[9] }; 'created' => $st[9] };
@@ -32,17 +32,20 @@ return @rv;
# create_atjob(user, time, commands, directory) # create_atjob(user, time, commands, directory)
sub create_atjob sub create_atjob
{ {
local @tm = localtime($_[1]); my ($user, $tm, $cmds, $dir) = @_;
local $date = strftime "%H:%M %b %d", @tm; my @tm = localtime($tm);
&open_execute_command(AT, "su \"$_[0]\" -c \"cd $_[3] ; at $date\"", 0); my $date = strftime "%H:%M %b %d", @tm;
print AT $_[2]; my $fullcmd = &command_as_user($user, 0, "cd $dir ; at $date");
&open_execute_command(AT, $fullcmd, 0);
print AT $cmds;
close(AT); close(AT);
&additional_log('exec', undef, "su \"$_[0]\" -c \"cd $_[3] ; at $date\""); &additional_log('exec', undef, $fullcmd);
} }
# delete_atjob(id) # delete_atjob(id)
sub delete_atjob sub delete_atjob
{ {
&system_logged("at -r \"$_[0]\""); my ($id) = @_;
&system_logged("at -r ".quotemeta($id));
} }

View File

@@ -3,7 +3,7 @@ use warnings;
no warnings 'redefine'; no warnings 'redefine';
no warnings 'uninitialized'; no warnings 'uninitialized';
require 'bind8-lib.pl'; require 'bind8-lib.pl'; ## no critic
# Globals from bind8-lib.pl # Globals from bind8-lib.pl
our (%config, %text, %in); our (%config, %text, %in);

View File

@@ -45,21 +45,21 @@ return map { &make_chroot($_) } &unique(@rv);
# Called before the files are actually read # Called before the files are actually read
sub pre_backup sub pre_backup
{ {
return undef; return;
} }
# post_backup(&files) # post_backup(&files)
# Called after the files are actually read # Called after the files are actually read
sub post_backup sub post_backup
{ {
return undef; return;
} }
# pre_restore(&files) # pre_restore(&files)
# Called before the files are restored from a backup # Called before the files are restored from a backup
sub pre_restore sub pre_restore
{ {
return undef; return;
} }
# post_restore(&files) # post_restore(&files)
@@ -71,7 +71,7 @@ my $pidfile = &get_pid_file();
if (&check_pid_file(&make_chroot($pidfile, 1))) { if (&check_pid_file(&make_chroot($pidfile, 1))) {
return &restart_bind(); return &restart_bind();
} }
return undef; return;
} }
1; 1;

View File

@@ -12,16 +12,31 @@ use WebminCore;
our (%text, %config, %gconfig, $module_name, $module_var_directory, $module_config_file, $module_config_directory); our (%text, %config, %gconfig, $module_name, $module_var_directory, $module_config_file, $module_config_directory);
my $dnssec_tools_minver = 1.13; my $dnssec_tools_minver = 1.13;
my $have_dnssec_tools = eval "require Net::DNS::SEC::Tools::dnssectools;"; my $have_dnssec_tools = eval {
require Net::DNS::SEC::Tools::dnssectools;
1;
};
my %freeze_zone_count; my %freeze_zone_count;
if ($have_dnssec_tools) { if ($have_dnssec_tools) {
eval "use Net::DNS::SEC::Tools::dnssectools; # All companion modules must load cleanly. A partial install would
use Net::DNS::SEC::Tools::rollmgr; # otherwise leave unqualified calls like rollmgr_sendcmd / rollrec_*
use Net::DNS::SEC::Tools::rollrec; # undefined, causing runtime death deep inside dnssec helpers.
use Net::DNS::SEC::Tools::keyrec; $have_dnssec_tools = eval {
use Net::DNS::RR::DS; require Net::DNS::SEC::Tools::dnssectools;
use Net::DNS;"; Net::DNS::SEC::Tools::dnssectools->import;
require Net::DNS::SEC::Tools::rollmgr;
Net::DNS::SEC::Tools::rollmgr->import;
require Net::DNS::SEC::Tools::rollrec;
Net::DNS::SEC::Tools::rollrec->import;
require Net::DNS::SEC::Tools::keyrec;
Net::DNS::SEC::Tools::keyrec->import;
require Net::DNS::RR::DS;
Net::DNS::RR::DS->import;
require Net::DNS;
Net::DNS->import;
1;
};
} }
&init_config(); &init_config();
@@ -78,7 +93,7 @@ if ($gconfig{'os_type'} =~ /-linux$/ &&
# Version: 9.14.2 deprecated the use of -r option # Version: 9.14.2 deprecated the use of -r option
# in favor of using /dev/random [bugs:#5370]. So no # in favor of using /dev/random [bugs:#5370]. So no
# entropy generation is needed. # entropy generation is needed.
return undef; return;
} }
} }
# No random flag, and entropy is needed # No random flag, and entropy is needed
@@ -97,13 +112,13 @@ sub have_dnssec_tools_support
# dnssectools_rollrec # dnssectools_rollrec
# dnssectools_keydir # dnssectools_keydir
# dnssectools_rollmgr_pidfile # dnssectools_rollmgr_pidfile
return undef if (!$config{'dnssectools_conf'} || return if (!$config{'dnssectools_conf'} ||
!$config{'dnssectools_rollrec'} || !$config{'dnssectools_rollrec'} ||
!$config{'dnssectools_keydir'} || !$config{'dnssectools_keydir'} ||
!$config{'dnssectools_rollmgr_pidfile'}); !$config{'dnssectools_rollmgr_pidfile'});
return 1; return 1;
} }
return undef; return;
} }
# get_bind_version() # get_bind_version()
@@ -116,7 +131,7 @@ if (&has_command($config{'named_path'})) {
return $2; return $2;
} }
} }
return undef; return;
} }
our @get_config_cache; our @get_config_cache;
@@ -330,7 +345,7 @@ else {
while(1) { while(1) {
$t = $_[0]->[++$i]; $t = $_[0]->[++$i];
if ($t eq "{" || $t eq ";" || $t eq "}") { last; } if ($t eq "{" || $t eq ";" || $t eq "}") { last; }
elsif (!defined($t)) { ${$_[2]} = $i; return undef; } elsif (!defined($t)) { ${$_[2]} = $i; return; }
else { push(@vals, $t); } else { push(@vals, $t); }
} }
$str{'values'} = \@vals; $str{'values'} = \@vals;
@@ -342,7 +357,7 @@ else {
$str{'type'} = 1; $str{'type'} = 1;
$j = 0; $j = 0;
while($_[0]->[$i] ne "}") { while($_[0]->[$i] ne "}") {
if (!defined($_[0]->[$i])) { ${$_[2]} = $i; return undef; } if (!defined($_[0]->[$i])) { ${$_[2]} = $i; return; }
my $substr = &parse_struct( my $substr = &parse_struct(
$_[0], $_[1], \$i, $j++, $_[4]); $_[0], $_[1], \$i, $j++, $_[4]);
if ($substr) { if ($substr) {
@@ -388,7 +403,7 @@ sub find_value
{ {
my @v = &find($_[0], $_[1]); my @v = &find($_[0], $_[1]);
if (!@v) { if (!@v) {
return undef; return wantarray ? () : undef;
} }
elsif (wantarray) { elsif (wantarray) {
return map { &extract_value($_) } @v; return map { &extract_value($_) } @v;
@@ -2075,9 +2090,9 @@ foreach my $v (&find("view", $conf)) {
push(@zones, &find("zone", $v->{'members'})); push(@zones, &find("zone", $v->{'members'}));
} }
my ($z) = grep { lc($_->{'value'}) eq lc($name) } @zones; my ($z) = grep { lc($_->{'value'}) eq lc($name) } @zones;
return undef if (!$z); return if (!$z);
my $file = &find("file", $z->{'members'}); my $file = &find("file", $z->{'members'});
return undef if (!$file); return if (!$file);
my $filename = &absolute_path($file->{'values'}->[0]); my $filename = &absolute_path($file->{'values'}->[0]);
$filename = &make_chroot($filename) if ($chroot); $filename = &make_chroot($filename) if ($chroot);
return $filename; return $filename;
@@ -2256,7 +2271,7 @@ else {
} }
} }
&refresh_nscd(); &refresh_nscd();
return undef; return;
} }
# before_editing(&zone) # before_editing(&zone)
@@ -2330,7 +2345,7 @@ elsif ($ex || $out =~ /failed|not found|error/i) {
return &text('restart_endc', "<tt>".&html_escape($out)."</tt>"); return &text('restart_endc', "<tt>".&html_escape($out)."</tt>");
} }
&refresh_nscd(); &refresh_nscd();
return undef; return;
} }
# start_bind() # start_bind()
@@ -2375,7 +2390,7 @@ my $rv = $?;
if ($rv || $out =~ /chroot.*not available/i) { if ($rv || $out =~ /chroot.*not available/i) {
return &text('start_error', $out ? "<tt>$out</tt>" : "Unknown error"); return &text('start_error', $out ? "<tt>$out</tt>" : "Unknown error");
} }
return undef; return;
} }
# stop_bind() # stop_bind()
@@ -2398,7 +2413,7 @@ else {
return $text{'stop_epid'}; return $text{'stop_epid'};
} }
} }
return undef; return;
} }
# is_bind_running() # is_bind_running()
@@ -2437,7 +2452,7 @@ foreach my $c (@$vconf) {
return $c->{'index'}; return $c->{'index'};
} }
} }
return undef; return;
} }
# create_zone(&zone, &conf, [view-idx]) # create_zone(&zone, &conf, [view-idx])
@@ -2641,7 +2656,7 @@ foreach my $z (@zones) {
return $z; return $z;
} }
} }
return undef; return;
} }
# get_zone_name_or_error(index|name, [viewindex|"any"]) # get_zone_name_or_error(index|name, [viewindex|"any"])
@@ -2870,7 +2885,7 @@ if ($config{'tmpl_dnssec'} && &supports_dnssec()) {
if ($secerr) { if ($secerr) {
return &text('mcreate_ednssec', $secerr); return &text('mcreate_ednssec', $secerr);
} }
return undef; return;
} }
# automatic_filename(domain, is-reverse, base, [viewname]) # automatic_filename(domain, is-reverse, base, [viewname])
@@ -3305,7 +3320,7 @@ if ($view eq '' && @views || $view ne '' && @views > 1) {
[ map { [ $_->{'index'}, $_->{'value'} ] } [ map { [ $_->{'index'}, $_->{'value'} ] }
grep { $_->{'index'} ne $view } @views ])); grep { $_->{'index'} ne $view } @views ]));
} }
return undef; return;
} }
# download_root_zone(file) # download_root_zone(file)
@@ -3344,7 +3359,7 @@ if ($temp) {
quotemeta($rootfile)." </dev/null"); quotemeta($rootfile)." </dev/null");
return &text('boot_egzip2', "<tt>".&html_escape($out)."</tt>") if ($?); return &text('boot_egzip2', "<tt>".&html_escape($out)."</tt>") if ($?);
} }
return undef; return;
} }
# restart_links([&zone-name]) # restart_links([&zone-name])
@@ -3458,13 +3473,14 @@ $fn || return "Could not work out keys directory!";
my $dom = $z->{'members'} ? $z->{'values'}->[0] : $z->{'name'}; my $dom = $z->{'members'} ? $z->{'values'}->[0] : $z->{'name'};
# Remove all keys for the same zone # Remove all keys for the same zone
opendir(ZONEDIR, $fn); opendir(my $zonedir, $fn)
foreach my $f (readdir(ZONEDIR)) { || return "Failed to open keys directory $fn : $!";
foreach my $f (readdir($zonedir)) {
if ($f =~ /^K\Q$dom\E\.\+(\d+)\+(\d+)\.(key|private)$/) { if ($f =~ /^K\Q$dom\E\.\+(\d+)\+(\d+)\.(key|private)$/) {
&unlink_file("$fn/$f"); &unlink_file("$fn/$f");
} }
} }
closedir(ZONEDIR); closedir($zonedir);
# Fork a background job to do lots of IO, to generate entropy # Fork a background job to do lots of IO, to generate entropy
my $pid; my $pid;
@@ -3570,7 +3586,7 @@ foreach my $key (@keys) {
} }
&bump_soa_record($chrootfn, \@recs); &bump_soa_record($chrootfn, \@recs);
return undef; return;
} }
# resign_dnssec_key(&zone|&zone-name) # resign_dnssec_key(&zone|&zone-name)
@@ -3643,7 +3659,7 @@ $newzonekey || return "Could not find new DNSSEC zone key";
my $err = &sign_dnssec_zone($z); my $err = &sign_dnssec_zone($z);
return "Re-signing failed : $err" if ($err); return "Re-signing failed : $err" if ($err);
return undef; return;
} }
# delete_dnssec_key(&zone|&zone-name, [save-key]) # delete_dnssec_key(&zone|&zone-name, [save-key])
@@ -3753,7 +3769,7 @@ foreach my $r (@signedrecs) {
} }
&create_multiple_records($fn, \@addrecs); &create_multiple_records($fn, \@addrecs);
&unlink_file($signed); &unlink_file($signed);
return undef; return;
} }
# check_if_dnssec_tools_managed(&domain) # check_if_dnssec_tools_managed(&domain)
@@ -3801,7 +3817,7 @@ if (&check_if_dnssec_tools_managed($dom)) {
my $err = &dt_resign_zone($dom, $zonefile, $krfile, 0); my $err = &dt_resign_zone($dom, $zonefile, $krfile, 0);
&unlock_file(&make_chroot($zonefile)); &unlock_file(&make_chroot($zonefile));
&error($err) if ($err); &error($err) if ($err);
return undef; return;
} }
my $keyrec = &get_dnskey_record($z, $recs); my $keyrec = &get_dnskey_record($z, $recs);
@@ -3820,8 +3836,17 @@ my ($z, $saved) = @_;
my $dir = &get_keys_dir($z); my $dir = &get_keys_dir($z);
my $dom = $z->{'members'} ? $z->{'values'}->[0] : $z->{'name'}; my $dom = $z->{'members'} ? $z->{'values'}->[0] : $z->{'name'};
my %keymap; my %keymap;
opendir(ZONEDIR, $dir); my $zonedir;
foreach my $f (readdir(ZONEDIR)) { if (!opendir($zonedir, $dir)) {
# A missing keys directory is the normal state before any DNSSEC
# keys have been generated for this zone; an unreadable one is a
# real error, but we can't return a string here because several
# list-context callers would treat it as a key hashref. Fall back
# to "no keys" and leave a breadcrumb in the error log.
warn "get_dnssec_key: opendir $dir failed: $!\n" if (-e $dir);
return wantarray ? () : undef;
}
foreach my $f (readdir($zonedir)) {
if ($f =~ /^K\Q$dom\E\.\+(\d+)\+(\d+)\.key(\.saved)?$/) { if ($f =~ /^K\Q$dom\E\.\+(\d+)\+(\d+)\.key(\.saved)?$/) {
# Found the public key file .. read it # Found the public key file .. read it
next if ($3 && !$saved); next if ($3 && !$saved);
@@ -3867,7 +3892,7 @@ foreach my $f (readdir(ZONEDIR)) {
while($rv->{'privatetext'} =~ s/^;.*\r?\n//) { } while($rv->{'privatetext'} =~ s/^;.*\r?\n//) { }
} }
} }
closedir(ZONEDIR); closedir($zonedir);
# Sort to put KSK first # Sort to put KSK first
my @rv = values %keymap; my @rv = values %keymap;
@@ -4155,7 +4180,7 @@ sub dt_sign_zone
&dt_rollerd_restart(); &dt_rollerd_restart();
&restart_bind(); &restart_bind();
return undef; return;
} }
# dt_resign_zone(zone-name, zonefile, krfile, threshold) # dt_resign_zone(zone-name, zonefile, krfile, threshold)
@@ -4212,7 +4237,7 @@ sub dt_resign_zone
&restart_zone($d); &restart_zone($d);
return undef; return;
} }
# dt_zskroll_zone(zone-name) # dt_zskroll_zone(zone-name)
@@ -4220,12 +4245,13 @@ sub dt_resign_zone
sub dt_zskroll_zone sub dt_zskroll_zone
{ {
my ($d) = @_; my ($d) = @_;
no strict "subs"; # Constants exported by Net::DNS::SEC::Tools::rollmgr,
# which is only loaded when dnssec-tools is installed.
no strict "subs"; ## no critic (ProhibitNoStrict)
if (!rollmgr_sendcmd(CHANNEL_WAIT,ROLLCMD_ROLLZSK,$d)) { if (!rollmgr_sendcmd(CHANNEL_WAIT,ROLLCMD_ROLLZSK,$d)) {
return $text{'dt_zone_erollctl'}; return $text{'dt_zone_erollctl'};
} }
use strict "subs"; return;
return undef;
} }
# dt_kskroll_zone(zone-name) # dt_kskroll_zone(zone-name)
@@ -4233,12 +4259,11 @@ sub dt_zskroll_zone
sub dt_kskroll_zone sub dt_kskroll_zone
{ {
my ($d) = @_; my ($d) = @_;
no strict "subs"; no strict "subs"; ## no critic (ProhibitNoStrict)
if (!rollmgr_sendcmd(CHANNEL_WAIT,ROLLCMD_ROLLKSK,$d)) { if (!rollmgr_sendcmd(CHANNEL_WAIT,ROLLCMD_ROLLKSK,$d)) {
return $text{'dt_zone_erollctl'}; return $text{'dt_zone_erollctl'};
} }
use strict "subs"; return;
return undef;
} }
# dt_notify_parentzone(zone-name) # dt_notify_parentzone(zone-name)
@@ -4246,12 +4271,11 @@ sub dt_kskroll_zone
sub dt_notify_parentzone sub dt_notify_parentzone
{ {
my ($d) = @_; my ($d) = @_;
no strict "subs"; no strict "subs"; ## no critic (ProhibitNoStrict)
if (!rollmgr_sendcmd(CHANNEL_WAIT,ROLLCMD_DSPUB,$d)) { if (!rollmgr_sendcmd(CHANNEL_WAIT,ROLLCMD_DSPUB,$d)) {
return $text{'dt_zone_erollctl'}; return $text{'dt_zone_erollctl'};
} }
use strict "subs"; return;
return undef;
} }
# dt_rollerd_restart() # dt_rollerd_restart()
@@ -4270,7 +4294,7 @@ sub dt_rollerd_restart
$r = $config{"dnssectools_rollrec"}; $r = $config{"dnssectools_rollrec"};
$cmd = "$rollerd -rrfile ".quotemeta($r); $cmd = "$rollerd -rrfile ".quotemeta($r);
&execute_command($cmd); &execute_command($cmd);
return undef; return;
} }
# dt_genkrf() # dt_genkrf()
@@ -4329,7 +4353,7 @@ sub dt_genkrf
$out = &backquote_logged("$cmd 2>&1"); $out = &backquote_logged("$cmd 2>&1");
return $out if ($?); return $out if ($?);
return undef; return;
} }
@@ -4400,7 +4424,7 @@ sub dt_delete_dnssec_state
&unlink_file($z_dir."/dsset-".$dom."."); &unlink_file($z_dir."/dsset-".$dom.".");
} }
return undef; return;
} }
# get_ds_record(&zone|&zone-name) # get_ds_record(&zone|&zone-name)
@@ -4424,7 +4448,7 @@ else {
if (&has_command("dnssec-dsfromkey")) { if (&has_command("dnssec-dsfromkey")) {
# Generate with a command # Generate with a command
my $out = &backquote_command("dnssec-dsfromkey -f ".quotemeta(&make_chroot(&absolute_path($zonefile)))." ".quotemeta($dom)." 2>/dev/null"); my $out = &backquote_command("dnssec-dsfromkey -f ".quotemeta(&make_chroot(&absolute_path($zonefile)))." ".quotemeta($dom)." 2>/dev/null");
return undef if ($?); return if ($?);
$out =~ s/\r|\n//g; $out =~ s/\r|\n//g;
return $out; return $out;
} }
@@ -4445,9 +4469,9 @@ my $conf = &get_config();
my $options = &find("options", $conf); my $options = &find("options", $conf);
my $mems = $options ? $options->{'members'} : [ ]; my $mems = $options ? $options->{'members'} : [ ];
my $en = &find_value("dnssec-enable", $mems); my $en = &find_value("dnssec-enable", $mems);
return undef if (!$en || $en !~ /yes/i); return if (!$en || $en !~ /yes/i);
my $tkeys = &find("trusted-keys", $conf); my $tkeys = &find("trusted-keys", $conf);
return undef if (!$tkeys || !@{$tkeys->{'members'}}); return if (!$tkeys || !@{$tkeys->{'members'}});
return &text('trusted_warning', return &text('trusted_warning',
&get_webprefix().'/bind8/conf_trusted.cgi')."<p>\n". &get_webprefix().'/bind8/conf_trusted.cgi')."<p>\n".
&ui_form_start(&get_webprefix().'/bind8/fix_trusted.cgi')."\n". &ui_form_start(&get_webprefix().'/bind8/fix_trusted.cgi')."\n".

View File

@@ -62,5 +62,5 @@ elsif ($cgi eq 'view_text.cgi' || $cgi eq 'edit_soptions.cgi') {
return $z ? 'zone='.$z->{'zone'}. return $z ? 'zone='.$z->{'zone'}.
($z->{'view'} ? '&view='.$z->{'viewindex'} : '') : 'none'; ($z->{'view'} ? '&view='.$z->{'viewindex'} : '') : 'none';
} }
return undef; return;
} }

View File

@@ -5,7 +5,7 @@ use warnings;
no warnings 'redefine'; no warnings 'redefine';
no warnings 'uninitialized'; no warnings 'uninitialized';
require './bind8-lib.pl'; require './bind8-lib.pl'; ## no critic
# Globals from bind8-lib.pl # Globals from bind8-lib.pl
our (%access, %text, %in); our (%access, %text, %in);

View File

@@ -7,7 +7,7 @@ no warnings 'uninitialized';
# Globals # Globals
our (%in); our (%in);
require './bind8-lib.pl'; require './bind8-lib.pl'; ## no critic
&ReadParse(); &ReadParse();
my @heiropen = &get_heiropen(); my @heiropen = &get_heiropen();
@heiropen = grep { $_ ne $in{'what'} } @heiropen; @heiropen = grep { $_ ne $in{'what'} } @heiropen;

View File

@@ -8,7 +8,7 @@ no warnings 'uninitialized';
# Globals # Globals
our (%text, %access); our (%text, %access);
require './bind8-lib.pl'; require './bind8-lib.pl'; ## no critic
$access{'defaults'} || &error($text{'acls_ecannot'}); $access{'defaults'} || &error($text{'acls_ecannot'});
&ui_print_header(undef, $text{'acls_title'}, "", &ui_print_header(undef, $text{'acls_title'}, "",
undef, undef, undef, undef, &restart_links()); undef, undef, undef, undef, &restart_links());

View File

@@ -7,7 +7,7 @@ no warnings 'uninitialized';
# Globals # Globals
our (%text, %access); our (%text, %access);
require './bind8-lib.pl'; require './bind8-lib.pl'; ## no critic
$access{'defaults'} || &error($text{'controls_ecannot'}); $access{'defaults'} || &error($text{'controls_ecannot'});
&ui_print_header(undef, $text{'controls_title'}, "", &ui_print_header(undef, $text{'controls_title'}, "",
undef, undef, undef, undef, &restart_links()); undef, undef, undef, undef, &restart_links());

View File

@@ -7,7 +7,7 @@ no warnings 'uninitialized';
# Globals # Globals
our (%text, %access, %config); our (%text, %access, %config);
require './bind8-lib.pl'; require './bind8-lib.pl'; ## no critic
&ReadParse(); &ReadParse();
$access{'defaults'} || &error($text{'dnssec_ecannot'}); $access{'defaults'} || &error($text{'dnssec_ecannot'});
&ui_print_header(undef, $text{'dnssec_title'}, "", &ui_print_header(undef, $text{'dnssec_title'}, "",

View File

@@ -7,7 +7,7 @@ no warnings 'uninitialized';
# Globals # Globals
our (%access, %text, %config); our (%access, %text, %config);
require './bind8-lib.pl'; require './bind8-lib.pl'; ## no critic
&ReadParse(); &ReadParse();
$access{'defaults'} || &error($text{'dt_conf_ecannot'}); $access{'defaults'} || &error($text{'dt_conf_ecannot'});

View File

@@ -8,7 +8,7 @@ no warnings 'uninitialized';
# Globals # Globals
our (%access, %text); our (%access, %text);
require './bind8-lib.pl'; require './bind8-lib.pl'; ## no critic
$access{'defaults'} || &error($text{'files_ecannot'}); $access{'defaults'} || &error($text{'files_ecannot'});
&ui_print_header(undef, $text{'files_title'}, "", &ui_print_header(undef, $text{'files_title'}, "",
undef, undef, undef, undef, &restart_links()); undef, undef, undef, undef, &restart_links());

View File

@@ -8,7 +8,7 @@ no warnings 'uninitialized';
# Globals # Globals
our (%access, %text); our (%access, %text);
require './bind8-lib.pl'; require './bind8-lib.pl'; ## no critic
$access{'defaults'} || &error($text{'forwarding_ecannot'}); $access{'defaults'} || &error($text{'forwarding_ecannot'});
&ui_print_header(undef, $text{'forwarding_title'}, "", &ui_print_header(undef, $text{'forwarding_title'}, "",
undef, undef, undef, undef, &restart_links()); undef, undef, undef, undef, &restart_links());

View File

@@ -6,7 +6,7 @@ use warnings;
no warnings 'redefine'; no warnings 'redefine';
no warnings 'uninitialized'; no warnings 'uninitialized';
require './bind8-lib.pl'; require './bind8-lib.pl'; ## no critic
# Globals # Globals
our (%access, %text); our (%access, %text);

View File

@@ -8,7 +8,7 @@ no warnings 'uninitialized';
our (%access, %text, %in); our (%access, %text, %in);
our (@syslog_levels, @severities, @cat_list); our (@syslog_levels, @severities, @cat_list);
require './bind8-lib.pl'; require './bind8-lib.pl'; ## no critic
$access{'defaults'} || &error($text{'logging_ecannot'}); $access{'defaults'} || &error($text{'logging_ecannot'});
&ui_print_header(undef, $text{'logging_title'}, "", &ui_print_header(undef, $text{'logging_title'}, "",
undef, undef, undef, undef, &restart_links()); undef, undef, undef, undef, &restart_links());

View File

@@ -7,7 +7,7 @@ no warnings 'uninitialized';
# Globals # Globals
our (%access, %text, %in); our (%access, %text, %in);
require './bind8-lib.pl'; require './bind8-lib.pl'; ## no critic
$access{'defaults'} || &error($text{'manual_ecannot'}); $access{'defaults'} || &error($text{'manual_ecannot'});
&ReadParse(); &ReadParse();
&ui_print_header(undef, $text{'manual_title'}, "", &ui_print_header(undef, $text{'manual_title'}, "",

View File

@@ -8,7 +8,7 @@ no warnings 'uninitialized';
# Globals # Globals
our (%access, %text); our (%access, %text);
require './bind8-lib.pl'; require './bind8-lib.pl'; ## no critic
$access{'defaults'} || &error($text{'misc_ecannot'}); $access{'defaults'} || &error($text{'misc_ecannot'});
&ui_print_header(undef, $text{'misc_title'}, "", &ui_print_header(undef, $text{'misc_title'}, "",
undef, undef, undef, undef, &restart_links()); undef, undef, undef, undef, &restart_links());

View File

@@ -7,7 +7,7 @@ no warnings 'uninitialized';
# Globals # Globals
our (%access, %text, %config); our (%access, %text, %config);
require './bind8-lib.pl'; require './bind8-lib.pl'; ## no critic
&ReadParse(); &ReadParse();
$access{'defaults'} || &error($text{'ncheck_ecannot'}); $access{'defaults'} || &error($text{'ncheck_ecannot'});

View File

@@ -7,7 +7,7 @@ no warnings 'uninitialized';
# Globals # Globals
our (%access, %text); our (%access, %text);
require './bind8-lib.pl'; require './bind8-lib.pl'; ## no critic
$access{'defaults'} || &error($text{'net_ecannot'}); $access{'defaults'} || &error($text{'net_ecannot'});
&ui_print_header(undef, $text{'net_title'}, "", &ui_print_header(undef, $text{'net_title'}, "",
undef, undef, undef, undef, &restart_links()); undef, undef, undef, undef, &restart_links());

View File

@@ -9,7 +9,7 @@ no warnings 'uninitialized';
our (%access, %text, %config); our (%access, %text, %config);
our $module_name; our $module_name;
require './bind8-lib.pl'; require './bind8-lib.pl'; ## no critic
$access{'defaults'} || &error($text{'rndc_ecannot'}); $access{'defaults'} || &error($text{'rndc_ecannot'});
&ui_print_header(undef, $text{'rndc_title'}, "", &ui_print_header(undef, $text{'rndc_title'}, "",
undef, undef, undef, undef, &restart_links()); undef, undef, undef, undef, &restart_links());

View File

@@ -8,7 +8,7 @@ no warnings 'uninitialized';
# Globals # Globals
our (%access, %text); our (%access, %text);
require './bind8-lib.pl'; require './bind8-lib.pl'; ## no critic
$access{'defaults'} || &error($text{'servers_ecannot'}); $access{'defaults'} || &error($text{'servers_ecannot'});
&ui_print_header(undef, $text{'servers_title'}, "", &ui_print_header(undef, $text{'servers_title'}, "",
undef, undef, undef, undef, &restart_links()); undef, undef, undef, undef, &restart_links());

View File

@@ -8,7 +8,7 @@ no warnings 'uninitialized';
our (%access, %text, $bind_version); our (%access, %text, $bind_version);
our $dnssec_dlv_zone; our $dnssec_dlv_zone;
require './bind8-lib.pl'; require './bind8-lib.pl'; ## no critic
&ReadParse(); &ReadParse();
$access{'defaults'} || &error($text{'trusted_ecannot'}); $access{'defaults'} || &error($text{'trusted_ecannot'});
&supports_dnssec_client() || &error($text{'trusted_esupport'}); &supports_dnssec_client() || &error($text{'trusted_esupport'});

View File

@@ -8,7 +8,7 @@ no warnings 'uninitialized';
# Globals # Globals
our (%access, %text, %config); our (%access, %text, %config);
require './bind8-lib.pl'; require './bind8-lib.pl'; ## no critic
$access{'defaults'} || &error($text{'zonedef_ecannot'}); $access{'defaults'} || &error($text{'zonedef_ecannot'});
&ui_print_header(undef, $text{'zonedef_title'}, "", &ui_print_header(undef, $text{'zonedef_title'}, "",
undef, undef, undef, undef, &restart_links()); undef, undef, undef, undef, &restart_links());
@@ -92,7 +92,7 @@ if (&supports_dnssec()) {
# Default algorithm # Default algorithm
print &ui_table_row($text{'zonedef_alg'}, print &ui_table_row($text{'zonedef_alg'},
&ui_select("alg", $config{'tmpl_dnssecalg'} || "RSASHA1", &ui_select("alg", $config{'tmpl_dnssecalg'} || "RSASHA256",
[ &list_dnssec_algorithms() ]), 3); [ &list_dnssec_algorithms() ]), 3);
# Default size # Default size

View File

@@ -8,7 +8,7 @@ no warnings 'uninitialized';
# Globals # Globals
our (%access, %text, %in, %config); our (%access, %text, %in, %config);
require './bind8-lib.pl'; require './bind8-lib.pl'; ## no critic
&ReadParse(); &ReadParse();
&error_setup($text{'convert_err'}); &error_setup($text{'convert_err'});

View File

@@ -8,7 +8,7 @@ no warnings 'uninitialized';
# Globals # Globals
our (%access, %text, %in); our (%access, %text, %in);
require './bind8-lib.pl'; require './bind8-lib.pl'; ## no critic
&ReadParse(); &ReadParse();
&error_setup($text{'convert_err'}); &error_setup($text{'convert_err'});

View File

@@ -1,4 +1,6 @@
require 'bind8-lib.pl'; use strict;
use warnings;
require 'bind8-lib.pl'; ## no critic
sub cpan_recommended sub cpan_recommended
{ {

View File

@@ -8,7 +8,7 @@ no warnings 'uninitialized';
# Globals # Globals
our (%access, %text, %in, %config); our (%access, %text, %in, %config);
require './bind8-lib.pl'; require './bind8-lib.pl'; ## no critic
&ReadParse(); &ReadParse();
&error_setup($text{'dcreate_err'}); &error_setup($text{'dcreate_err'});
$access{'delegation'} || &error($text{'dcreate_ecannot'}); $access{'delegation'} || &error($text{'dcreate_ecannot'});

View File

@@ -8,7 +8,7 @@ no warnings 'uninitialized';
# Globals # Globals
our (%access, %text, %in, %config); our (%access, %text, %in, %config);
require './bind8-lib.pl'; require './bind8-lib.pl'; ## no critic
&ReadParse(); &ReadParse();
&error_setup($text{'fcreate_err'}); &error_setup($text{'fcreate_err'});
$access{'forward'} || &error($text{'fcreate_ecannot'}); $access{'forward'} || &error($text{'fcreate_ecannot'});

View File

@@ -9,7 +9,7 @@ no warnings 'uninitialized';
our (%access, %text, %in); our (%access, %text, %in);
our $module_root_directory; our $module_root_directory;
require './bind8-lib.pl'; require './bind8-lib.pl'; ## no critic
&ReadParse(); &ReadParse();
&error_setup($text{'hcreate_err'}); &error_setup($text{'hcreate_err'});
$access{'master'} || &error($text{'hcreate_ecannot'}); $access{'master'} || &error($text{'hcreate_ecannot'});

View File

@@ -8,7 +8,7 @@ no warnings 'uninitialized';
# Globals # Globals
our (%access, %text, %in, %config); our (%access, %text, %in, %config);
require './bind8-lib.pl'; require './bind8-lib.pl'; ## no critic
&ReadParse(); &ReadParse();
&error_setup($text{'mcreate_err'}); &error_setup($text{'mcreate_err'});
$access{'master'} || &error($text{'mcreate_ecannot'}); $access{'master'} || &error($text{'mcreate_ecannot'});

View File

@@ -11,7 +11,7 @@ no warnings 'uninitialized';
# Globals # Globals
our (%access, %text, %in, %config); our (%access, %text, %in, %config);
require './bind8-lib.pl'; require './bind8-lib.pl'; ## no critic
&ReadParse(); &ReadParse();
&error_setup($in{'type'} ? $text{'screate_err1'} : $text{'screate_err2'}); &error_setup($in{'type'} ? $text{'screate_err1'} : $text{'screate_err2'});
$access{'slave'} || &error($in{'type'} ? $text{'screate_ecannot1'} $access{'slave'} || &error($in{'type'} ? $text{'screate_ecannot1'}

View File

@@ -7,7 +7,7 @@ no warnings 'uninitialized';
# Globals # Globals
our (%access, %text, %in); our (%access, %text, %in);
require './bind8-lib.pl'; require './bind8-lib.pl'; ## no critic
&error_setup($text{'vcreate_err'}); &error_setup($text{'vcreate_err'});
&ReadParse(); &ReadParse();
my $add_to_file = &add_to_file(); my $add_to_file = &add_to_file();

View File

@@ -8,7 +8,7 @@ no warnings 'uninitialized';
# Globals # Globals
our (%access, %text, %config); our (%access, %text, %config);
require './bind8-lib.pl'; require './bind8-lib.pl'; ## no critic
$access{'delegation'} || &error($text{'dcreate_ecannot'}); $access{'delegation'} || &error($text{'dcreate_ecannot'});
$access{'ro'} && &error($text{'master_ero'}); $access{'ro'} && &error($text{'master_ero'});
&ui_print_header(undef, $text{'dcreate_title'}, "", &ui_print_header(undef, $text{'dcreate_title'}, "",

View File

@@ -7,7 +7,7 @@ no warnings 'uninitialized';
# Globals # Globals
our (%access, %text, %in, %config); our (%access, %text, %in, %config);
require './bind8-lib.pl'; require './bind8-lib.pl'; ## no critic
&ReadParse(); &ReadParse();
&error_setup($text{'drecs_err'}); &error_setup($text{'drecs_err'});
my $zone = &get_zone_name_or_error($in{'zone'}, $in{'view'}); my $zone = &get_zone_name_or_error($in{'zone'}, $in{'view'});

View File

@@ -8,7 +8,7 @@ no warnings 'uninitialized';
# Globals # Globals
our (%access, %text, %in); our (%access, %text, %in);
require './bind8-lib.pl'; require './bind8-lib.pl'; ## no critic
&ReadParse(); &ReadParse();
my $parent = &get_config_parent(); my $parent = &get_config_parent();
my $conf = $parent->{'members'}; my $conf = $parent->{'members'};

View File

@@ -11,7 +11,7 @@ our (%access, %text, %in, %config);
# Globals from records-lib.pl # Globals from records-lib.pl
our $ipv6revzone; our $ipv6revzone;
require './bind8-lib.pl'; require './bind8-lib.pl'; ## no critic
&ReadParse(); &ReadParse();
my $zone = &get_zone_name_or_error($in{'zone'}, $in{'view'}); my $zone = &get_zone_name_or_error($in{'zone'}, $in{'view'});

View File

@@ -6,7 +6,7 @@ no warnings 'redefine';
no warnings 'uninitialized'; no warnings 'uninitialized';
our (%access, %text, %in); our (%access, %text, %in);
require './bind8-lib.pl'; require './bind8-lib.pl'; ## no critic
&error_setup($text{'dt_zone_err'}); &error_setup($text{'dt_zone_err'});
&ReadParse(); &ReadParse();

View File

@@ -6,7 +6,7 @@ no warnings 'redefine';
no warnings 'uninitialized'; no warnings 'uninitialized';
our (%access, %text, %in); our (%access, %text, %in);
require './bind8-lib.pl'; require './bind8-lib.pl'; ## no critic
&error_setup($text{'zonekey_err'}); &error_setup($text{'zonekey_err'});
&ReadParse(); &ReadParse();
my $zone = &get_zone_name_or_error($in{'zone'}, $in{'view'}); my $zone = &get_zone_name_or_error($in{'zone'}, $in{'view'});

View File

@@ -7,7 +7,7 @@ no warnings 'redefine';
no warnings 'uninitialized'; no warnings 'uninitialized';
our (%text, %config, %in); our (%text, %config, %in);
require './bind8-lib.pl'; require './bind8-lib.pl'; ## no critic
&error_setup($text{'boot_err'}); &error_setup($text{'boot_err'});
&ReadParse(); &ReadParse();

View File

@@ -7,7 +7,7 @@ no warnings 'redefine';
no warnings 'uninitialized'; no warnings 'uninitialized';
our (%access, %in, %text); our (%access, %in, %text);
require './bind8-lib.pl'; require './bind8-lib.pl'; ## no critic
&ReadParse(); &ReadParse();
$in{'view'} = 'any' if ($in{'view'} eq ''); $in{'view'} = 'any' if ($in{'view'} eq '');

View File

@@ -7,7 +7,7 @@ no warnings 'redefine';
no warnings 'uninitialized'; no warnings 'uninitialized';
our (%access, %in, %text); our (%access, %in, %text);
require './bind8-lib.pl'; require './bind8-lib.pl'; ## no critic
&ReadParse(); &ReadParse();
$in{'view'} = 'any' if ($in{'view'} eq ''); $in{'view'} = 'any' if ($in{'view'} eq '');

View File

@@ -7,7 +7,7 @@ no warnings 'redefine';
no warnings 'uninitialized'; no warnings 'uninitialized';
our (%in, %text); our (%in, %text);
require './bind8-lib.pl'; require './bind8-lib.pl'; ## no critic
&ReadParse(); &ReadParse();
my $zone = &get_zone_name_or_error($in{'zone'}, $in{'view'}); my $zone = &get_zone_name_or_error($in{'zone'}, $in{'view'});
my $dom = $zone->{'name'}; my $dom = $zone->{'name'};

View File

@@ -7,7 +7,7 @@ no warnings 'redefine';
no warnings 'uninitialized'; no warnings 'uninitialized';
our (%access, %text, %in, %config, %is_extra); our (%access, %text, %in, %config, %is_extra);
require './bind8-lib.pl'; require './bind8-lib.pl'; ## no critic
&ReadParse(); &ReadParse();
our $ipv6revzone; our $ipv6revzone;
$in{'view'} = 'any' if (!$in{'view'} || $in{'view'} eq ''); $in{'view'} = 'any' if (!$in{'view'} || $in{'view'} eq '');

View File

@@ -7,7 +7,7 @@ no warnings 'redefine';
no warnings 'uninitialized'; no warnings 'uninitialized';
our (%access, %text, %in); our (%access, %text, %in);
require './bind8-lib.pl'; require './bind8-lib.pl'; ## no critic
&ReadParse(); &ReadParse();
my $zone = &get_zone_name_or_error($in{'zone'}, $in{'view'}); my $zone = &get_zone_name_or_error($in{'zone'}, $in{'view'});

View File

@@ -7,7 +7,7 @@ no warnings 'redefine';
no warnings 'uninitialized'; no warnings 'uninitialized';
our (%access, %text, %in); our (%access, %text, %in);
require './bind8-lib.pl'; require './bind8-lib.pl'; ## no critic
&ReadParse(); &ReadParse();
my $zone = &get_zone_name_or_error($in{'zone'}, $in{'view'}); my $zone = &get_zone_name_or_error($in{'zone'}, $in{'view'});
my $dom = $zone->{'name'}; my $dom = $zone->{'name'};

View File

@@ -7,7 +7,7 @@ no warnings 'redefine';
no warnings 'uninitialized'; no warnings 'uninitialized';
our (%access, %text, %in, %config, %is_extra); our (%access, %text, %in, %config, %is_extra);
require './bind8-lib.pl'; require './bind8-lib.pl'; ## no critic
&ReadParse(); &ReadParse();
my $zone = &get_zone_name_or_error($in{'zone'}, $in{'view'}); my $zone = &get_zone_name_or_error($in{'zone'}, $in{'view'});
my $dom = $zone->{'name'}; my $dom = $zone->{'name'};

View File

@@ -7,7 +7,7 @@ no warnings 'redefine';
no warnings 'uninitialized'; no warnings 'uninitialized';
our (%access, %text, %in, %config); our (%access, %text, %in, %config);
require './bind8-lib.pl'; require './bind8-lib.pl'; ## no critic
&ReadParse(); &ReadParse();
our $ipv6revzone; our $ipv6revzone;

View File

@@ -7,7 +7,7 @@ no warnings 'redefine';
no warnings 'uninitialized'; no warnings 'uninitialized';
our (%access, %in, %text, %config); our (%access, %in, %text, %config);
require './bind8-lib.pl'; require './bind8-lib.pl'; ## no critic
&ReadParse(); &ReadParse();
my $zone = &get_zone_name_or_error($in{'zone'}, $in{'view'}); my $zone = &get_zone_name_or_error($in{'zone'}, $in{'view'});
my $dom = $zone->{'name'}; my $dom = $zone->{'name'};
@@ -65,7 +65,7 @@ print &ui_table_row($text{'master_minimum'},
&time_unit_choice("minunit", $u[3])); &time_unit_choice("minunit", $u[3]));
# Default TTL # Default TTL
my $ttl = $defttl->{'defttl'} if ($defttl); my $ttl = $defttl ? $defttl->{'defttl'} : undef;
my ($ttlu) = &extract_time_units($ttl); my ($ttlu) = &extract_time_units($ttl);
print &ui_table_row($text{'master_defttl'}, print &ui_table_row($text{'master_defttl'},
&ui_radio("defttl_def", $defttl ? 0 : 1, &ui_radio("defttl_def", $defttl ? 0 : 1,

View File

@@ -8,7 +8,7 @@ no warnings 'uninitialized';
our (%access, %in, %text); our (%access, %in, %text);
our $scriptname; our $scriptname;
require './bind8-lib.pl'; require './bind8-lib.pl'; ## no critic
&ReadParse(); &ReadParse();
my $zone = &get_zone_name_or_error($in{'zone'}, $in{'view'}); my $zone = &get_zone_name_or_error($in{'zone'}, $in{'view'});

View File

@@ -7,7 +7,7 @@ no warnings 'redefine';
no warnings 'uninitialized'; no warnings 'uninitialized';
our (%access, %text, %in, %config); our (%access, %text, %in, %config);
require './bind8-lib.pl'; require './bind8-lib.pl'; ## no critic
&ReadParse(); &ReadParse();
my $zone = &get_zone_name_or_error($in{'zone'}, $in{'view'}); my $zone = &get_zone_name_or_error($in{'zone'}, $in{'view'});
my $file = &absolute_path($zone->{'file'}); my $file = &absolute_path($zone->{'file'});

View File

@@ -7,7 +7,7 @@ no warnings 'redefine';
no warnings 'uninitialized'; no warnings 'uninitialized';
our (%access, %text, %in); our (%access, %text, %in);
require './bind8-lib.pl'; require './bind8-lib.pl'; ## no critic
$access{'defaults'} || &error($text{'tls_ecannot'}); $access{'defaults'} || &error($text{'tls_ecannot'});
&supports_tls() || &error($text{'tls_esupport'}); &supports_tls() || &error($text{'tls_esupport'});
&ReadParse(); &ReadParse();

View File

@@ -7,7 +7,7 @@ no warnings 'redefine';
no warnings 'uninitialized'; no warnings 'uninitialized';
our (%access, %text, %in); our (%access, %text, %in);
require './bind8-lib.pl'; require './bind8-lib.pl'; ## no critic
&ReadParse(); &ReadParse();
my $conf = &get_config(); my $conf = &get_config();
my $view = $conf->[$in{'index'}]; my $view = $conf->[$in{'index'}];

View File

@@ -6,7 +6,7 @@ no warnings 'redefine';
no warnings 'uninitialized'; no warnings 'uninitialized';
our (%access, %text, %in, %config, $in); our (%access, %text, %in, %config, $in);
require './bind8-lib.pl'; require './bind8-lib.pl'; ## no critic
&ReadParse(); &ReadParse();
my $zone = &get_zone_name_or_error($in{'zone'}, $in{'view'}); my $zone = &get_zone_name_or_error($in{'zone'}, $in{'view'});

View File

@@ -6,7 +6,7 @@ no warnings 'redefine';
no warnings 'uninitialized'; no warnings 'uninitialized';
our (%access, %in, %text, $in, %config); our (%access, %in, %text, $in, %config);
require './bind8-lib.pl'; require './bind8-lib.pl'; ## no critic
&ReadParse(); &ReadParse();
my $zone = &get_zone_name_or_error($in{'zone'}, $in{'view'}); my $zone = &get_zone_name_or_error($in{'zone'}, $in{'view'});
my $dom = $zone->{'name'}; my $dom = $zone->{'name'};

View File

@@ -6,7 +6,7 @@ no warnings 'redefine';
no warnings 'uninitialized'; no warnings 'uninitialized';
our (%access, %text, %in); our (%access, %text, %in);
require './bind8-lib.pl'; require './bind8-lib.pl'; ## no critic
&error_setup($text{'dt_zone_err'}); &error_setup($text{'dt_zone_err'});
&ReadParse(); &ReadParse();

View File

@@ -6,7 +6,7 @@ no warnings 'redefine';
no warnings 'uninitialized'; no warnings 'uninitialized';
our (%access, %text, %in); our (%access, %text, %in);
require './bind8-lib.pl'; require './bind8-lib.pl'; ## no critic
&error_setup($text{'zonekey_err'}); &error_setup($text{'zonekey_err'});
&ReadParse(); &ReadParse();
my $zone = &get_zone_name_or_error($in{'zone'}, $in{'view'}); my $zone = &get_zone_name_or_error($in{'zone'}, $in{'view'});

View File

@@ -8,7 +8,7 @@ no warnings 'redefine';
no warnings 'uninitialized'; no warnings 'uninitialized';
our (%access, %text, %in); our (%access, %text, %in);
require './bind8-lib.pl'; require './bind8-lib.pl'; ## no critic
&ReadParse(); &ReadParse();
my $zone = &get_zone_name_or_error($in{'zone'}, $in{'view'}); my $zone = &get_zone_name_or_error($in{'zone'}, $in{'view'});

View File

@@ -7,7 +7,7 @@ no warnings 'redefine';
no warnings 'uninitialized'; no warnings 'uninitialized';
our (%in, %config, %text); our (%in, %config, %text);
require './bind8-lib.pl'; require './bind8-lib.pl'; ## no critic
&ReadParse(); &ReadParse();
if (&have_dnssec_tools_support()) { if (&have_dnssec_tools_support()) {

View File

@@ -7,7 +7,7 @@ no warnings 'redefine';
no warnings 'uninitialized'; no warnings 'uninitialized';
our (%access, %text, %in, %config); our (%access, %text, %in, %config);
require './bind8-lib.pl'; require './bind8-lib.pl'; ## no critic
$access{'defaults'} || &error($text{'trusted_ecannot'}); $access{'defaults'} || &error($text{'trusted_ecannot'});
&error_setup($text{'trusted_err'}); &error_setup($text{'trusted_err'});
&ReadParse(); &ReadParse();

View File

@@ -7,7 +7,7 @@ no warnings 'redefine';
no warnings 'uninitialized'; no warnings 'uninitialized';
our (%access, %text, %config); our (%access, %text, %config);
require './bind8-lib.pl'; require './bind8-lib.pl'; ## no critic
$access{'forward'} || &error($text{'fcreate_ecannot'}); $access{'forward'} || &error($text{'fcreate_ecannot'});
$access{'ro'} && &error($text{'master_ero'}); $access{'ro'} && &error($text{'master_ero'});
&ui_print_header(undef, $text{'fcreate_title'}, "", &ui_print_header(undef, $text{'fcreate_title'}, "",

View File

@@ -6,7 +6,7 @@ no warnings 'redefine';
no warnings 'uninitialized'; no warnings 'uninitialized';
our (%config, %text); our (%config, %text);
require './bind8-lib.pl'; require './bind8-lib.pl'; ## no critic
# Go through all zones to find IPs in use, and networks # Go through all zones to find IPs in use, and networks
my $conf = &get_config(); my $conf = &get_config();

View File

@@ -7,7 +7,7 @@ no warnings 'redefine';
no warnings 'uninitialized'; no warnings 'uninitialized';
our (%access, %text, %in); our (%access, %text, %in);
require './bind8-lib.pl'; require './bind8-lib.pl'; ## no critic
&ReadParse(); &ReadParse();
$access{'ro'} && &error($text{'restart_ecannot'}); $access{'ro'} && &error($text{'restart_ecannot'});
$access{'apply'} || &error($text{'restart_ecannot'}); $access{'apply'} || &error($text{'restart_ecannot'});

View File

@@ -7,7 +7,7 @@ no warnings 'redefine';
no warnings 'uninitialized'; no warnings 'uninitialized';
our (%access, %text, %config); our (%access, %text, %config);
require './bind8-lib.pl'; require './bind8-lib.pl'; ## no critic
$access{'master'} || &error($text{'hcreate_ecannot'}); $access{'master'} || &error($text{'hcreate_ecannot'});
$access{'ro'} && &error($text{'master_ero'}); $access{'ro'} && &error($text{'master_ero'});
&ui_print_header(undef, $text{'hcreate_title'}, "", &ui_print_header(undef, $text{'hcreate_title'}, "",

View File

@@ -7,7 +7,7 @@ no warnings 'uninitialized';
our (%access, %text, %config, %gconfig, %in); our (%access, %text, %config, %gconfig, %in);
our ($module_name, $module_config_directory); our ($module_name, $module_config_directory);
require './bind8-lib.pl'; require './bind8-lib.pl'; ## no critic
&ReadParse(); &ReadParse();
my $need_create = !-r &make_chroot($config{'named_conf'}) || my $need_create = !-r &make_chroot($config{'named_conf'}) ||

View File

@@ -8,7 +8,7 @@ no warnings 'uninitialized';
our(%access, %text, %in); our(%access, %text, %in);
our $bind_version; our $bind_version;
require './bind8-lib.pl'; require './bind8-lib.pl'; ## no critic
&ReadParse(); &ReadParse();
$access{'gen'} || &error($text{'gen_ecannot'}); $access{'gen'} || &error($text{'gen_ecannot'});

View File

@@ -6,7 +6,7 @@ no warnings 'redefine';
no warnings 'uninitialized'; no warnings 'uninitialized';
our (%access, %text); our (%access, %text);
require './bind8-lib.pl'; require './bind8-lib.pl'; ## no critic
$access{'slaves'} || &error($text{'slaves_ecannot'}); $access{'slaves'} || &error($text{'slaves_ecannot'});
&foreign_require("servers", "servers-lib.pl"); &foreign_require("servers", "servers-lib.pl");
&ReadParse(); &ReadParse();

View File

@@ -7,7 +7,7 @@ no warnings 'redefine';
no warnings 'uninitialized'; no warnings 'uninitialized';
our (%access, %text); our (%access, %text);
require './bind8-lib.pl'; require './bind8-lib.pl'; ## no critic
$access{'defaults'} || &error($text{'tls_ecannot'}); $access{'defaults'} || &error($text{'tls_ecannot'});
&supports_tls() || &error($text{'tls_esupport'}); &supports_tls() || &error($text{'tls_esupport'});
my $conf = &get_config(); my $conf = &get_config();

View File

@@ -1,13 +1,16 @@
# log_parser.pl # log_parser.pl
# Functions for parsing this module's logs # Functions for parsing this module's logs
use strict;
use warnings;
do 'bind8-lib.pl'; do 'bind8-lib.pl'; ## no critic
our (%text);
# parse_webmin_log(user, script, action, type, object, &params) # parse_webmin_log(user, script, action, type, object, &params)
# Converts logged information from this module into human-readable form # Converts logged information from this module into human-readable form
sub parse_webmin_log sub parse_webmin_log
{ {
local ($user, $script, $action, $type, $object, $p) = @_; my ($user, $script, $action, $type, $object, $p) = @_;
if ($type eq 'record') { if ($type eq 'record') {
if ($p->{'type'} eq 'PTR') { if ($p->{'type'} eq 'PTR') {
return &text("log_${action}_record", $text{"type_$p->{'type'}"}, return &text("log_${action}_record", $text{"type_$p->{'type'}"},
@@ -88,7 +91,7 @@ elsif ($text{"log_${action}"}) {
return $text{"log_${action}"}; return $text{"log_${action}"};
} }
else { else {
return undef; return;
} }
} }

View File

@@ -6,7 +6,7 @@ no warnings 'redefine';
no warnings 'uninitialized'; no warnings 'uninitialized';
our (%access, %in, %text, %config); our (%access, %in, %text, %config);
require './bind8-lib.pl'; require './bind8-lib.pl'; ## no critic
&ReadParseMime(); &ReadParseMime();
&ui_print_unbuffered_header(undef, $text{'mass_title'}, ""); &ui_print_unbuffered_header(undef, $text{'mass_title'}, "");
&error_setup($text{'mass_err'}); &error_setup($text{'mass_err'});

View File

@@ -6,7 +6,7 @@ no warnings 'redefine';
no warnings 'uninitialized'; no warnings 'uninitialized';
our (%access, %text, %in); our (%access, %text, %in);
require './bind8-lib.pl'; require './bind8-lib.pl'; ## no critic
&ReadParse(); &ReadParse();
my $conf = &get_config(); my $conf = &get_config();

View File

@@ -6,7 +6,7 @@ no warnings 'redefine';
no warnings 'uninitialized'; no warnings 'uninitialized';
our (%access, %text, %config); our (%access, %text, %config);
require './bind8-lib.pl'; require './bind8-lib.pl'; ## no critic
&ReadParse(); &ReadParse();
&ui_print_header(undef, $text{'mass_title'}, ""); &ui_print_header(undef, $text{'mass_title'}, "");

View File

@@ -6,7 +6,7 @@ no warnings 'redefine';
no warnings 'uninitialized'; no warnings 'uninitialized';
our (%access, %text, %in); our (%access, %text, %in);
require './bind8-lib.pl'; require './bind8-lib.pl'; ## no critic
&ReadParse(); &ReadParse();
&error_setup($text{'rmass_err'}); &error_setup($text{'rmass_err'});

View File

@@ -6,7 +6,7 @@ no warnings 'redefine';
no warnings 'uninitialized'; no warnings 'uninitialized';
our (%text, %in, %config); our (%text, %in, %config);
require './bind8-lib.pl'; require './bind8-lib.pl'; ## no critic
&ReadParse(); &ReadParse();
&error_setup($text{'rmass_err'}); &error_setup($text{'rmass_err'});
my @d = split(/\0/, $in{'d'}); my @d = split(/\0/, $in{'d'});

View File

@@ -6,7 +6,7 @@ no warnings 'redefine';
no warnings 'uninitialized'; no warnings 'uninitialized';
our (%access, %text, %in); our (%access, %text, %in);
require './bind8-lib.pl'; require './bind8-lib.pl'; ## no critic
&ReadParse(); &ReadParse();
&error_setup($text{'umass_err'}); &error_setup($text{'umass_err'});

View File

@@ -6,7 +6,7 @@ no warnings 'redefine';
no warnings 'uninitialized'; no warnings 'uninitialized';
our (%text, %in, %config); our (%text, %in, %config);
require './bind8-lib.pl'; require './bind8-lib.pl'; ## no critic
&ReadParse(); &ReadParse();
&error_setup($text{'rdmass_err'}); &error_setup($text{'rdmass_err'});
my @d = split(/\0/, $in{'d'}); my @d = split(/\0/, $in{'d'});

View File

@@ -6,7 +6,7 @@ no warnings 'redefine';
no warnings 'uninitialized'; no warnings 'uninitialized';
our (%access, %text, %in); our (%access, %text, %in);
require './bind8-lib.pl'; require './bind8-lib.pl'; ## no critic
&ReadParse(); &ReadParse();
&error_setup($text{'umass_err'}); &error_setup($text{'umass_err'});

View File

@@ -1,16 +1,21 @@
#!/usr/local/bin/perl #!/usr/local/bin/perl
# Show a form for changing the IPs in multiple zones # Show a form for changing the IPs in multiple zones
use strict;
use warnings;
no warnings 'uninitialized';
require './bind8-lib.pl'; require './bind8-lib.pl'; ## no critic
our (%text, %in, %config);
&ReadParse(); &ReadParse();
&error_setup($text{'umass_err'}); &error_setup($text{'umass_err'});
@d = split(/\0/, $in{'d'}); my @d = split(/\0/, $in{'d'});
@d || &error($text{'umass_enone'}); @d || &error($text{'umass_enone'});
&ui_print_header(undef, $text{'umass_title'}, ""); &ui_print_header(undef, $text{'umass_title'}, "");
print &ui_form_start("mass_update.cgi", "post"); print &ui_form_start("mass_update.cgi", "post");
foreach $d (@d) { my $dc = 0;
foreach my $d (@d) {
print &ui_hidden("d", $d),"\n"; print &ui_hidden("d", $d),"\n";
$dc++; $dc++;
} }
@@ -20,7 +25,7 @@ print &ui_table_start($text{'umass_header'}, undef, 2);
print &ui_table_row($text{'umass_sel'}, $dc); print &ui_table_row($text{'umass_sel'}, $dc);
# Type to change # Type to change
@rtypes = ( 'ttl', 'A', 'CNAME', 'NS', 'MX', 'PTR', 'TXT', 'SPF', my @rtypes = ( 'ttl', 'A', 'CNAME', 'NS', 'MX', 'PTR', 'TXT', 'SPF',
$config{'support_aaaa'} ? ( "AAAA" ) : ( ) ); $config{'support_aaaa'} ? ( "AAAA" ) : ( ) );
print &ui_table_row($text{'umass_type'}, print &ui_table_row($text{'umass_type'},
&ui_select("type", "A", &ui_select("type", "A",

View File

@@ -7,7 +7,7 @@ no warnings 'redefine';
no warnings 'uninitialized'; no warnings 'uninitialized';
our (%access, %text, %config); our (%access, %text, %config);
require './bind8-lib.pl'; require './bind8-lib.pl'; ## no critic
&ReadParse(); &ReadParse();
$access{'master'} || &error($text{'mcreate_ecannot'}); $access{'master'} || &error($text{'mcreate_ecannot'});
&ui_print_header(undef, $text{'mcreate_title'}, "", &ui_print_header(undef, $text{'mcreate_title'}, "",

View File

@@ -7,7 +7,7 @@ no warnings 'redefine';
no warnings 'uninitialized'; no warnings 'uninitialized';
our (%text, %in, %config); our (%text, %in, %config);
require './bind8-lib.pl'; require './bind8-lib.pl'; ## no critic
&ReadParse(); &ReadParse();
my $zone = &get_zone_name_or_error($in{'zone'}, $in{'view'}); my $zone = &get_zone_name_or_error($in{'zone'}, $in{'view'});

View File

@@ -7,7 +7,7 @@ no warnings 'redefine';
no warnings 'uninitialized'; no warnings 'uninitialized';
our (%access, %text, %in, %config); our (%access, %text, %in, %config);
require './bind8-lib.pl'; require './bind8-lib.pl'; ## no critic
$access{'defaults'} || &error($text{'misc_ecannot'}); $access{'defaults'} || &error($text{'misc_ecannot'});
&error_setup($text{'controls_err'}); &error_setup($text{'controls_err'});
&ReadParse(); &ReadParse();

View File

@@ -6,7 +6,7 @@ no warnings 'redefine';
no warnings 'uninitialized'; no warnings 'uninitialized';
our (%in); our (%in);
require './bind8-lib.pl'; require './bind8-lib.pl'; ## no critic
&ReadParse(); &ReadParse();
my @heiropen = &get_heiropen(); my @heiropen = &get_heiropen();
push(@heiropen, $in{'what'}); push(@heiropen, $in{'what'});

View File

@@ -830,7 +830,7 @@ if ($txt =~ /^v=spf1/) {
} }
return $spf; return $spf;
} }
return undef; return;
} }
# join_spf(&spf) # join_spf(&spf)
@@ -898,7 +898,7 @@ if ($txt =~ /^v=dmarc1/i) {
} }
return $dmarc; return $dmarc;
} }
return undef; return;
} }
# join_dmarc(&dmarc) # join_dmarc(&dmarc)
@@ -1018,13 +1018,13 @@ $abs ||= 0;
my $fn; my $fn;
if ($z->{'members'}) { if ($z->{'members'}) {
my $file = &find("file", $z->{'members'}); my $file = &find("file", $z->{'members'});
return undef if (!$file); return if (!$file);
$fn = $file->{'values'}->[0]; $fn = $file->{'values'}->[0];
} }
else { else {
$fn = $z->{'file'}; $fn = $z->{'file'};
} }
return undef if (!$fn); return if (!$fn);
if ($abs) { if ($abs) {
$fn = &absolute_path($fn); $fn = &absolute_path($fn);
} }
@@ -1075,7 +1075,7 @@ sub find_record_by_id
my ($recs, $id, $num) = @_; my ($recs, $id, $num) = @_;
my @rv = grep { &record_id($_) eq $id } @$recs; my @rv = grep { &record_id($_) eq $id } @$recs;
if (!@rv) { if (!@rv) {
return undef; return;
} }
elsif (@rv == 1) { elsif (@rv == 1) {
return $rv[0]; return $rv[0];

View File

@@ -6,7 +6,7 @@ no warnings 'redefine';
no warnings 'uninitialized'; no warnings 'uninitialized';
our (%text, %in); our (%text, %in);
require './bind8-lib.pl'; require './bind8-lib.pl'; ## no critic
&error_setup($text{'refetch_err'}); &error_setup($text{'refetch_err'});
&ReadParse(); &ReadParse();

View File

@@ -7,7 +7,7 @@ no warnings 'uninitialized';
our %config; our %config;
my $no_acl_check++; my $no_acl_check++;
require './bind8-lib.pl'; require './bind8-lib.pl'; ## no critic
my $zonefile; my $zonefile;
my $krfile; my $krfile;

View File

@@ -6,7 +6,7 @@ no warnings 'redefine';
no warnings 'uninitialized'; no warnings 'uninitialized';
our (%text, %in); our (%text, %in);
require './bind8-lib.pl'; require './bind8-lib.pl'; ## no critic
&error_setup($text{'resign_err'}); &error_setup($text{'resign_err'});
&ReadParse(); &ReadParse();
my $zone = &get_zone_name_or_error($in{'zone'}, $in{'view'}); my $zone = &get_zone_name_or_error($in{'zone'}, $in{'view'});

View File

@@ -7,7 +7,7 @@ no warnings 'redefine';
no warnings 'uninitialized'; no warnings 'uninitialized';
our (%access, %text, %in); our (%access, %text, %in);
require './bind8-lib.pl'; require './bind8-lib.pl'; ## no critic
&ReadParse(); &ReadParse();
$access{'ro'} && &error($text{'restart_ecannot'}); $access{'ro'} && &error($text{'restart_ecannot'});
$access{'apply'} == 1 || $access{'apply'} == 3 || $access{'apply'} == 1 || $access{'apply'} == 3 ||

View File

@@ -7,7 +7,7 @@ no warnings 'redefine';
no warnings 'uninitialized'; no warnings 'uninitialized';
our (%access, %text, %in); our (%access, %text, %in);
require './bind8-lib.pl'; require './bind8-lib.pl'; ## no critic
&ReadParse(); &ReadParse();
$access{'ro'} && &error($text{'restart_ecannot'}); $access{'ro'} && &error($text{'restart_ecannot'});
$access{'apply'} || &error($text{'restart_ecannot'}); $access{'apply'} || &error($text{'restart_ecannot'});

View File

@@ -7,7 +7,7 @@ no warnings 'redefine';
no warnings 'uninitialized'; no warnings 'uninitialized';
our (%access, %text, %in, %config); our (%access, %text, %in, %config);
require './bind8-lib.pl'; require './bind8-lib.pl'; ## no critic
$access{'defaults'} || &error($text{'acls_ecannot'}); $access{'defaults'} || &error($text{'acls_ecannot'});
&error_setup($text{'acls_err'}); &error_setup($text{'acls_err'});
&ReadParse(); &ReadParse();

View File

@@ -6,7 +6,7 @@ no warnings 'redefine';
no warnings 'uninitialized'; no warnings 'uninitialized';
our (%access, %text, %in, %config); our (%access, %text, %in, %config);
require './bind8-lib.pl'; require './bind8-lib.pl'; ## no critic
$access{'defaults'} || &error($text{'controls_ecannot'}); $access{'defaults'} || &error($text{'controls_ecannot'});
&error_setup($text{'controls_err'}); &error_setup($text{'controls_err'});
&ReadParse(); &ReadParse();

View File

@@ -9,7 +9,7 @@ our $dnssec_cron_cmd;
our $module_name; our $module_name;
our $module_config_file; our $module_config_file;
require './bind8-lib.pl'; require './bind8-lib.pl'; ## no critic
&foreign_require("cron", "cron-lib.pl"); &foreign_require("cron", "cron-lib.pl");
&ReadParse(); &ReadParse();
&error_setup($text{'dnssec_err'}); &error_setup($text{'dnssec_err'});

View File

@@ -7,7 +7,7 @@ no warnings 'uninitialized';
our (%access, %text, %in, %config); our (%access, %text, %in, %config);
our $module_config_file; our $module_config_file;
require './bind8-lib.pl'; require './bind8-lib.pl'; ## no critic
&ReadParse(); &ReadParse();
&error_setup($text{'dt_conf_err'}); &error_setup($text{'dt_conf_err'});

View File

@@ -7,7 +7,7 @@ no warnings 'redefine';
no warnings 'uninitialized'; no warnings 'uninitialized';
our (%access, %text, %in, %config); our (%access, %text, %in, %config);
require './bind8-lib.pl'; require './bind8-lib.pl'; ## no critic
$access{'defaults'} || &error($text{'files_ecannot'}); $access{'defaults'} || &error($text{'files_ecannot'});
&error_setup($text{'files_err'}); &error_setup($text{'files_err'});
&ReadParse(); &ReadParse();

View File

@@ -7,7 +7,7 @@ no warnings 'redefine';
no warnings 'uninitialized'; no warnings 'uninitialized';
our (%access, %text, %in); our (%access, %text, %in);
require './bind8-lib.pl'; require './bind8-lib.pl'; ## no critic
&ReadParse(); &ReadParse();
&error_setup($text{'fwd_err'}); &error_setup($text{'fwd_err'});

View File

@@ -7,7 +7,7 @@ no warnings 'redefine';
no warnings 'uninitialized'; no warnings 'uninitialized';
our (%access, %text, %config, %in); our (%access, %text, %config, %in);
require './bind8-lib.pl'; require './bind8-lib.pl'; ## no critic
$access{'defaults'} || &error($text{'forwarding_ecannot'}); $access{'defaults'} || &error($text{'forwarding_ecannot'});
&error_setup($text{'forwarding_err'}); &error_setup($text{'forwarding_err'});
&ReadParse(); &ReadParse();

View File

@@ -10,7 +10,7 @@ our (%access, %text, %in);
# From records-lib.pl # From records-lib.pl
our ($uscore, $star); our ($uscore, $star);
require './bind8-lib.pl'; require './bind8-lib.pl'; ## no critic
&ReadParse(); &ReadParse();
$access{'gen'} || &error($text{'gen_ecannot'}); $access{'gen'} || &error($text{'gen_ecannot'});

View File

@@ -7,7 +7,7 @@ no warnings 'redefine';
no warnings 'uninitialized'; no warnings 'uninitialized';
our (%access, %text, %in, %config); our (%access, %text, %in, %config);
require './bind8-lib.pl'; require './bind8-lib.pl'; ## no critic
$access{'defaults'} || &error($text{'keys_ecannot'}); $access{'defaults'} || &error($text{'keys_ecannot'});
&error_setup($text{'keys_err'}); &error_setup($text{'keys_err'});
&ReadParse(); &ReadParse();

View File

@@ -7,7 +7,7 @@ no warnings 'redefine';
no warnings 'uninitialized'; no warnings 'uninitialized';
our (%access, %text, %in, %config); our (%access, %text, %in, %config);
require './bind8-lib.pl'; require './bind8-lib.pl'; ## no critic
$access{'defaults'} || &error($text{'logging_ecannot'}); $access{'defaults'} || &error($text{'logging_ecannot'});
&error_setup($text{'files_err'}); &error_setup($text{'files_err'});
&ReadParse(); &ReadParse();

View File

@@ -6,7 +6,7 @@ no warnings 'redefine';
no warnings 'uninitialized'; no warnings 'uninitialized';
our (%access, %text, %in); our (%access, %text, %in);
require './bind8-lib.pl'; require './bind8-lib.pl'; ## no critic
&error_setup($text{'manual_err'}); &error_setup($text{'manual_err'});
$access{'defaults'} || &error($text{'manual_ecannot'}); $access{'defaults'} || &error($text{'manual_ecannot'});
&ReadParseMime(); &ReadParseMime();

Some files were not shown because too many files have changed in this diff Show More