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
This commit is contained in:
Jamie Cameron
2026-05-23 08:43:32 -07:00
committed by GitHub
127 changed files with 783 additions and 190 deletions

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

@@ -8,7 +8,7 @@ no warnings 'uninitialized';
# Globals
our (%access, %text, %in);
require './bind8-lib.pl';
require './bind8-lib.pl'; ## no critic
&ReadParse();
&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
{

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

@@ -1,13 +1,16 @@
# log_parser.pl
# 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)
# Converts logged information from this module into human-readable form
sub parse_webmin_log
{
local ($user, $script, $action, $type, $object, $p) = @_;
my ($user, $script, $action, $type, $object, $p) = @_;
if ($type eq 'record') {
if ($p->{'type'} eq 'PTR') {
return &text("log_${action}_record", $text{"type_$p->{'type'}"},
@@ -88,7 +91,7 @@ elsif ($text{"log_${action}"}) {
return $text{"log_${action}"};
}
else {
return undef;
return;
}
}

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

@@ -1,16 +1,21 @@
#!/usr/local/bin/perl
# 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();
&error_setup($text{'umass_err'});
@d = split(/\0/, $in{'d'});
my @d = split(/\0/, $in{'d'});
@d || &error($text{'umass_enone'});
&ui_print_header(undef, $text{'umass_title'}, "");
print &ui_form_start("mass_update.cgi", "post");
foreach $d (@d) {
my $dc = 0;
foreach my $d (@d) {
print &ui_hidden("d", $d),"\n";
$dc++;
}
@@ -20,7 +25,7 @@ print &ui_table_start($text{'umass_header'}, undef, 2);
print &ui_table_row($text{'umass_sel'}, $dc);
# 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" ) : ( ) );
print &ui_table_row($text{'umass_type'},
&ui_select("type", "A",

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

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