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)
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",
$tm[2], $tm[1], $tm[3], $tm[4]+1, $tm[5]+1900;
my $mailflag = $_[4] ? "-m" : "";
my $mailflag = $email ? "-m" : "";
no strict "subs";
&open_execute_command(AT, "su \"$_[0]\" -c \"cd $_[3] ; at $mailflag $date\" >/dev/null 2>&1", 0);
print AT $_[2];
my $fullcmd = &command_as_user($user, 0, "cd $dir ; at $mailflag $date");
&open_execute_command(AT, "$fullcmd >/dev/null 2>&1", 0);
print AT $cmds;
close(AT);
use strict "subs";
&additional_log('exec', undef, "su \"$_[0]\" -c \"cd $_[3] ; at $mailflag $date\"");
&additional_log('exec', undef, $fullcmd);
}
# delete_atjob(id)
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
{
local @rv;
my @rv;
opendir(DIR, $config{'at_dir'}) || return ();
while($f = readdir(DIR)) {
local $p = "$config{'at_dir'}/$f";
my $p = "$config{'at_dir'}/$f";
if ($f =~ /^(\d+)\.a(\S+)$/) {
local @st = stat($p);
local $job = { 'id' => $f,
my @st = stat($p);
my $job = { 'id' => $f,
'date' => $1,
'user' => scalar(getpwuid($st[4])),
'created' => $st[9] };
@@ -32,17 +32,20 @@ return @rv;
# create_atjob(user, time, commands, directory)
sub create_atjob
{
local @tm = localtime($_[1]);
local $date = strftime "%H:%M %b %d", @tm;
&open_execute_command(AT, "su \"$_[0]\" -c \"cd $_[3] ; at $date\"", 0);
print AT $_[2];
my ($user, $tm, $cmds, $dir) = @_;
my @tm = localtime($tm);
my $date = strftime "%H:%M %b %d", @tm;
my $fullcmd = &command_as_user($user, 0, "cd $dir ; at $date");
&open_execute_command(AT, $fullcmd, 0);
print AT $cmds;
close(AT);
&additional_log('exec', undef, "su \"$_[0]\" -c \"cd $_[3] ; at $date\"");
&additional_log('exec', undef, $fullcmd);
}
# delete_atjob(id)
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 '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());
@@ -92,7 +92,7 @@ if (&supports_dnssec()) {
# Default algorithm
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);
# Default size

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();

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