Merge branch 'master' of github.com:webmin/webmin

This commit is contained in:
Jamie Cameron
2025-05-01 11:47:09 -07:00
8 changed files with 29 additions and 22 deletions

View File

@@ -11,7 +11,6 @@ our (%in, %text);
my $conf = &get_config();
my ($def) = grep { $_->{'name'} eq 'Definition' } @$conf;
$def || &error($text{'config_edef'});
my ($DEF) = grep { $_->{'name'} eq 'DEFAULT' } @$conf;
&ui_print_header(undef, $text{'config_title'}, "");
@@ -19,9 +18,10 @@ print &ui_form_start("save_config.cgi", "post");
print &ui_table_start($text{'config_header'}, undef, 2);
# Logging level
my $loglevel = &find_value("loglevel", $def) || 3;
my $logsymbsupp = &compare_version_numbers(&get_fail2ban_version(), "0.9") >= 0;
my $loglevel = &find_value("loglevel", $def) || ($logsymbsupp ? "INFO" : 3);
my @loglevels;
if (&compare_version_numbers(&get_fail2ban_version(), "0.9") >= 0) {
if ($logsymbsupp) {
@loglevels = ( "CRITICAL", "ERROR", "WARNING",
"NOTICE", "INFO", "DEBUG" );
}
@@ -53,8 +53,9 @@ print &ui_table_row($text{'config_socket'},
&ui_opt_textbox("socket", $socket, 40, $text{'default'}));
# DB Purge Age
if ($DEF) {
my $dbpurgeage = &find_value("dbpurgeage", $DEF);
if ($def) {
my $dbpurgeage = &find_value("dbpurgeage", $def);
$dbpurgeage ||= 86400;
my @dbpurgeages = (
[ '', '' ],
[ '900', $text{'config_dbpurgeage_15m'} ],
@@ -72,12 +73,15 @@ if ($DEF) {
my $time_in_seconds = &time_to_seconds($dbpurgeage);
my $dbpurgestd = grep { $_->[0] eq $time_in_seconds } @dbpurgeages;
my $dbpurge_def = $time_in_seconds == 86400 ? 1 : $dbpurgestd ? 0 : 2;
my $depurgeagelabeled = $dbpurge_def == 2 ? &seconds_to_time($dbpurgeage) : undef;
my $depurgeagelabeled = $dbpurge_def == 2
? &seconds_to_time($dbpurgeage)
: undef;
print &ui_table_row($text{'config_dbpurgeage'},
&ui_radio_row('dbpurgeage', $dbpurge_def,
[ [ 1, [ $text{'config_dbpurgeagedef'} ] ],
[ 0, [ $text{'config_dbpurgeagesel'},
&ui_select("dbpurgeagesel", $time_in_seconds, \@dbpurgeages) ] ],
&ui_select("dbpurgeagesel",
$time_in_seconds, \@dbpurgeages) ] ],
[ 2, [ $text{'config_dbpurgeagecus'},
&ui_textbox("dbpurgeagecus", $depurgeagelabeled, 15) ] ]
]));

View File

@@ -83,16 +83,16 @@ if (-r $jfile) {
push(@rv, &parse_config_file($jfile));
}
my @lrv;
# Read separate config files under jail.d
my $jdir = "$config{'config_dir'}/jail.d";
if (-d $jdir) {
foreach my $f (glob("$jdir/*.conf")) {
push(@rv, &parse_config_file($f));
push(@lrv, &parse_config_file($f));
}
}
# Read the main local file, and separate files under jail.d
my @lrv;
my $jlfile = &make_local_file($jfile);
if (-r $jlfile) {
push(@lrv, &parse_config_file($jlfile));
@@ -552,7 +552,7 @@ foreach my $f (reverse(@all_files_for_lock)) {
sub get_fail2ban_version
{
my $out = &backquote_command("$config{'client_cmd'} -V 2>/dev/null </dev/null");
return !$? && $out =~ /v([0-9\.]+)/ ? $1 : undef;
return !$? && $out =~ /v?([0-9\.]+)/ ? $1 : undef;
}
# Unblock given IP in given jail

View File

@@ -38,7 +38,7 @@ foreach my $j (@jails) {
&ui_link("edit_jail.cgi?name=".&urlize($j->{'name'}),
$j->{'name'}),
$enabled =~ /true|yes|1/i ? $text{'yes'} : $text{'no'},
&html_escape($filter),
&html_escape($filter) || $text{'config_dbpurgeagedef'},
$action,
], \@tds, "d", $j->{'name'});
}

View File

@@ -13,7 +13,6 @@ our (%in, %text, %config);
my $conf = &get_config();
my ($def) = grep { $_->{'name'} eq 'Definition' } @$conf;
$def || &error($text{'config_edef'});
my ($DEF) = grep { $_->{'name'} eq 'DEFAULT' } @$conf;
# Validate inputs
if ($in{'logtarget_def'} eq 'file') {
@@ -32,13 +31,13 @@ if (!$in{'socket_def'}) {
$in{'logtarget_def'} eq 'file' ? $in{'logtarget'} :
$in{'logtarget_def'}, $def);
&save_directive("socket", $in{'socket_def'} ? undef : $in{'socket'}, $def);
if ($DEF) {
if ($def) {
my $time = $in{'dbpurgeage'} == 1 ? 86400 :
$in{'dbpurgeage'} == 2 ?
$in{'dbpurgeagecus'} : $in{'dbpurgeagesel'};
my $conf_time_error = &time_to_seconds_error($time);
&error($conf_time_error) if ($conf_time_error);
&save_directive("dbpurgeage", $time, $DEF);
&save_directive("dbpurgeage", $time, $def);
}
&unlock_all_config_files();

View File

@@ -3,8 +3,9 @@
# Sets up a production or testing repository for Webmin and Usermin packages
# on Debian-based and RPM-based systems
NEW_SCRIPT_URL="https://raw.githubusercontent.com/webmin/webmin/master/\
webmin-setup-repo.sh"
URL_BASE="https://raw.githubusercontent.com"
URL_PATH="/webmin/webmin/master/webmin-setup-repo.sh"
NEW_SCRIPT_URL="${URL_BASE}${URL_PATH}"
for downloader in "curl -fsSL" "wget -qO-"; do
if command -v "${downloader%% *}" >/dev/null 2>&1; then

View File

@@ -3,8 +3,9 @@
# Sets up a production or testing repository for Webmin and Usermin packages
# on Debian-based and RPM-based systems
NEW_SCRIPT_URL="https://raw.githubusercontent.com/webmin/webmin/master/\
webmin-setup-repo.sh"
URL_BASE="https://raw.githubusercontent.com"
URL_PATH="/webmin/webmin/master/webmin-setup-repo.sh"
NEW_SCRIPT_URL="${URL_BASE}${URL_PATH}"
for downloader in "curl -fsSL" "wget -qO-"; do
if command -v "${downloader%% *}" >/dev/null 2>&1; then

View File

@@ -3,8 +3,9 @@
# Sets up a production or testing repository for Webmin and Usermin packages
# on Debian-based and RPM-based systems
NEW_SCRIPT_URL="https://raw.githubusercontent.com/webmin/webmin/master/\
webmin-setup-repo.sh"
URL_BASE="https://raw.githubusercontent.com"
URL_PATH="/webmin/webmin/master/webmin-setup-repo.sh"
NEW_SCRIPT_URL="${URL_BASE}${URL_PATH}"
for downloader in "curl -fsSL" "wget -qO-"; do
if command -v "${downloader%% *}" >/dev/null 2>&1; then

View File

@@ -3,8 +3,9 @@
# Sets up a production or testing repository for Webmin and Usermin packages
# on Debian-based and RPM-based systems
NEW_SCRIPT_URL="https://raw.githubusercontent.com/webmin/webmin/master/\
webmin-setup-repo.sh"
URL_BASE="https://raw.githubusercontent.com"
URL_PATH="/webmin/webmin/master/webmin-setup-repo.sh"
NEW_SCRIPT_URL="${URL_BASE}${URL_PATH}"
for downloader in "curl -fsSL" "wget -qO-"; do
if command -v "${downloader%% *}" >/dev/null 2>&1; then