mirror of
https://github.com/webmin/webmin.git
synced 2026-02-06 15:32:20 +00:00
Compare commits
12 Commits
dev/check-
...
2.520
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
8957333dca | ||
|
|
1caf80bbc1 | ||
|
|
18c12c7f8b | ||
|
|
78a3ab924d | ||
|
|
652f2db774 | ||
|
|
8b58d7cce3 | ||
|
|
52f87286a4 | ||
|
|
28c7939636 | ||
|
|
face8319f2 | ||
|
|
7a651027bf | ||
|
|
bbf317803a | ||
|
|
1091434ff4 |
@@ -1,20 +1,22 @@
|
||||
## Changelog
|
||||
|
||||
#### 2.520 (October 2, 2025)
|
||||
#### 2.520 (October 4, 2025)
|
||||
* Fix to make sure the mail URL uses a well-known host name [security]
|
||||
* Fix support for other Raspberry Pi sensors #2545
|
||||
* Fix support for other Raspberry Pi sensors [#2545](https://github.com/webmin/webmin/issues/2545)
|
||||
* Fix the printing of the bottom button row in the form column table
|
||||
* Fix to recommend Perl `Sys::Syslog` module #2557
|
||||
* Fix to recommend Perl `Sys::Syslog` module [#2557](https://github.com/webmin/webmin/issues/2557)
|
||||
* Fix to avoid using short hostname in HTTPS redirects when an FQDN is available
|
||||
* Fix to use _/proc_ sampler instead of `vmstat` for the same output with much lower overhead
|
||||
* Fix to query specific fields in FreeBSD memory stats collection, cutting CPU use by 80%
|
||||
* Fix to kill Webmin subprocesses during RC stop on FreeBSD and other systems
|
||||
* Fix to correctly fetch command version in `PPTP VPN Client` module [#2567](https://github.com/webmin/webmin/issues/2567)
|
||||
* Add a complete overhaul of `var_dump` subroutine, which is now fully portable
|
||||
* Update the Authentic theme to the latest version with various fixes:
|
||||
- Fix the text color when reading email in the Read User Mail module [webmin#2555](https://github.com/webmin/webmin/issues/2555)
|
||||
- Fix to ensure the selected color palette is correctly stored when changed manually [webmin#2552](https://github.com/webmin/webmin/issues/2552)
|
||||
- Fix a bug when the Webmin version label was missing when copying to clipboard system information from the dashboard
|
||||
- Fix DNS query spike from network stats collection on FreeBSD [webmin#2556](https://github.com/webmin/webmin/issues/2556)
|
||||
- Fix to display the appropriate icon for proxy mode on new Bunny DNS
|
||||
- Fix spinner color in toast messages for dark palette
|
||||
- Fix other bugs and add various small improvements
|
||||
|
||||
|
||||
@@ -9,6 +9,13 @@ use Getopt::Long qw(:config permute pass_through);
|
||||
use Term::ANSIColor qw(:constants);
|
||||
use Pod::Usage;
|
||||
|
||||
# Check if root
|
||||
if ($> != 0) {
|
||||
die BRIGHT_RED, "Error: ", RESET, BRIGHT_YELLOW,"webmin", RESET,
|
||||
" command must be run as root\n";
|
||||
exit 1;
|
||||
}
|
||||
|
||||
my $a0 = $ARGV[0];
|
||||
|
||||
sub main {
|
||||
|
||||
@@ -50,7 +50,7 @@ if ($action ne '-b' && $action ne '-k') {
|
||||
$types .= " ".join(' ', @extra) ;
|
||||
}
|
||||
}
|
||||
my $args = quotemeta($action)." ".$types." ".quotemeta($recursive);
|
||||
my $args = quotemeta($action)." ".$types." ".$recursive;
|
||||
$args =~ s/\s+/ /g;
|
||||
$args = &trim($args);
|
||||
foreach my $file (@files) {
|
||||
|
||||
@@ -21,6 +21,7 @@ journal_since0=Latest available
|
||||
journal_since1=Real-time follow
|
||||
journal_since2=Current boot
|
||||
journal_since2-1=Last boot
|
||||
journal_since30=30 days ago
|
||||
journal_since3=7 days ago
|
||||
journal_since4=24 hours ago
|
||||
journal_since5=8 hours ago
|
||||
|
||||
@@ -36,6 +36,7 @@ return [
|
||||
{ "--follow" => $text{'journal_since1'} },
|
||||
{ "--boot" => $text{'journal_since2'} },
|
||||
{ "--boot -1" => $text{'journal_since2-1'} },
|
||||
{ "--since '30 days ago'" => $text{'journal_since30'} },
|
||||
{ "--since '7 days ago'" => $text{'journal_since3'} },
|
||||
{ "--since '24 hours ago'" => $text{'journal_since4'} },
|
||||
{ "--since '8 hours ago'" => $text{'journal_since5'} },
|
||||
|
||||
@@ -22,7 +22,7 @@ if (!&has_command($config{'pptp'})) {
|
||||
}
|
||||
elsif (!$vers) {
|
||||
# The PPP daemon is not installed
|
||||
print "<p>",&text('index_epppd', "<tt>pppd</tt>"),"<p>\n";
|
||||
print "<p>",&text('index_eppp', "<tt>pppd</tt>"),"<p>\n";
|
||||
}
|
||||
else {
|
||||
# Show icons
|
||||
|
||||
@@ -258,7 +258,7 @@ return 0;
|
||||
# get_pppd_version(&out)
|
||||
sub get_pppd_version
|
||||
{
|
||||
local $out = `pppd --help 2>&1`;
|
||||
local $out = `pppd --version 2>&1`;
|
||||
${$_[0]} = $out;
|
||||
return $out =~ /version\s+(\S+)/i ? $1 : undef;
|
||||
}
|
||||
|
||||
10
setup.pl
10
setup.pl
@@ -616,11 +616,17 @@ else {
|
||||
print STOP "else\n";
|
||||
print STOP " echo Stopping Webmin server in $wadir\n";
|
||||
print STOP "fi\n";
|
||||
print STOP "pids=\`ps axww -o pid= -o command= | awk -v wd=\"$wadir/\" '\$0 ~ wd && \$0 !~ /miniserv\\.pl/ {print \$1}'\`\n";
|
||||
print STOP "targets=\"stats.pl shellserver.pl\"\n";
|
||||
print STOP "collect_pids() {\n";
|
||||
print STOP " for s in \$targets; do\n";
|
||||
print STOP " ps axww | grep \"$wadir/\" | grep \"/\$s\" | grep -v grep\n";
|
||||
print STOP " done | awk '{print \$1}' | sort -u\n";
|
||||
print STOP "}\n";
|
||||
print STOP "pids=\$(collect_pids)\n";
|
||||
print STOP "[ -n \"\$pids\" ] && kill \$pids 2>/dev/null || true\n";
|
||||
print STOP "if [ \"\$1\" = \"--kill\" ]; then\n";
|
||||
print STOP " sleep 1\n";
|
||||
print STOP " pids=\`ps axww -o pid= -o command= | awk -v wd=\"$wadir/\" '\$0 ~ wd && \$0 !~ /miniserv\\.pl/ {print \$1}'\`\n";
|
||||
print STOP " pids=\$(collect_pids)\n";
|
||||
print STOP " [ -n \"\$pids\" ] && kill -KILL \$pids 2>/dev/null || true\n";
|
||||
print STOP "fi\n";
|
||||
print STOP "pidfile=\`grep \"^pidfile=\" $config_directory/miniserv.conf | sed -e 's/pidfile=//g'\`\n";
|
||||
|
||||
10
setup.sh
10
setup.sh
@@ -695,11 +695,17 @@ echo " echo Force stopping Webmin server in $wadir" >>$config_dir/.stop-init
|
||||
echo "else" >>$config_dir/.stop-init
|
||||
echo " echo Stopping Webmin server in $wadir" >>$config_dir/.stop-init
|
||||
echo "fi" >>$config_dir/.stop-init
|
||||
echo "pids=\`ps axww -o pid= -o command= | awk -v wd=\"$wadir/\" '\$0 ~ wd && \$0 !~ /miniserv\\.pl/ {print \$1}'\`" >>$config_dir/.stop-init
|
||||
echo "targets=\"stats.pl shellserver.pl\"" >>$config_dir/.stop-init
|
||||
echo "collect_pids() {" >>$config_dir/.stop-init
|
||||
echo " for s in \$targets; do" >>$config_dir/.stop-init
|
||||
echo " ps axww | grep \"$wadir/\" | grep \"/\$s\" | grep -v grep" >>$config_dir/.stop-init
|
||||
echo " done | awk '{print \$1}' | sort -u" >>$config_dir/.stop-init
|
||||
echo "}" >>$config_dir/.stop-init
|
||||
echo "pids=\$(collect_pids)" >>$config_dir/.stop-init
|
||||
echo "[ -n \"\$pids\" ] && kill \$pids 2>/dev/null || true" >>$config_dir/.stop-init
|
||||
echo "if [ \"\$1\" = \"--kill\" ]; then" >>$config_dir/.stop-init
|
||||
echo " sleep 1" >>$config_dir/.stop-init
|
||||
echo " pids=\`ps axww -o pid= -o command= | awk -v wd=\"$wadir/\" '\$0 ~ wd && \$0 !~ /miniserv\\.pl/ {print \$1}'\`" >>$config_dir/.stop-init
|
||||
echo " pids=\$(collect_pids)" >>$config_dir/.stop-init
|
||||
echo " [ -n \"\$pids\" ] && kill -KILL \$pids 2>/dev/null || true" >>$config_dir/.stop-init
|
||||
echo "fi" >>$config_dir/.stop-init
|
||||
echo "pidfile=\`grep \"^pidfile=\" $config_dir/miniserv.conf | sed -e 's/pidfile=//g'\`" >>$config_dir/.stop-init
|
||||
|
||||
@@ -28,13 +28,13 @@ print &ui_table_start(undef, undef, 2);
|
||||
|
||||
# Addresses to always whitelist
|
||||
@from = &find("whitelist_from", $conf);
|
||||
print &ui_table_row($text{'white_from'},
|
||||
print &ui_table_row(&hlink($text{'white_from'}, 'white_from'),
|
||||
&edit_textbox("whitelist_from",
|
||||
[ map { @{$_->{'words'}} } @from ], 60, 10));
|
||||
|
||||
# Exceptions to whitelist
|
||||
@un = &find("unwhitelist_from", $conf);
|
||||
print &ui_table_row($text{'white_unfrom'},
|
||||
print &ui_table_row(&hlink($text{'white_unfrom'}, 'white_unfrom'),
|
||||
&edit_textbox("unwhitelist_from",
|
||||
[ map { @{$_->{'words'}} } @un ], 60, 5));
|
||||
|
||||
@@ -54,7 +54,7 @@ if ($config{'show_global'}) {
|
||||
|
||||
# Whitelist by received header
|
||||
@rcvd = &find("whitelist_from_rcvd", $conf);
|
||||
print &ui_table_row($text{'white_rcvd2'},
|
||||
print &ui_table_row(&hlink($text{'white_rcvd2'}, 'white_rcvd2'),
|
||||
&edit_table("whitelist_from_rcvd",
|
||||
[ $text{'white_addr'}, $text{'white_rcvdhost'} ],
|
||||
[ map { $_->{'words'} } @rcvd ], [ 40, 30 ], undef, 3));
|
||||
|
||||
13
spam/help/white_from.html
Normal file
13
spam/help/white_from.html
Normal file
@@ -0,0 +1,13 @@
|
||||
<header>Senders to never classify as spam</header>
|
||||
|
||||
The <tt>whitelist_from</tt> option is used to whitelist sender addresses which
|
||||
send mail that is often tagged (incorrectly) as spam. <p>
|
||||
|
||||
Use of this setting is not recommended, since it blindly trusts the message,
|
||||
which is routinely and easily forged by spammers and phish senders. <p>
|
||||
|
||||
The recommended solution is to instead use whitelist_auth or other authenticated
|
||||
whitelisting methods, or <tt>whitelist_from_rcvd</tt>. <p>
|
||||
|
||||
<footer>
|
||||
|
||||
8
spam/help/white_rcvd2.html
Normal file
8
spam/help/white_rcvd2.html
Normal file
@@ -0,0 +1,8 @@
|
||||
<header>Sender to never classify as spam</header>
|
||||
|
||||
The <tt>whitelist_from_rcvd</tt> option is used to supplement the allowed
|
||||
sender addresses with a check against the received headers. The first parameter
|
||||
is the address to whitelist, and the second is a string to match the relay's
|
||||
rDNS. <p>
|
||||
|
||||
<footer>
|
||||
7
spam/help/white_unfrom.html
Normal file
7
spam/help/white_unfrom.html
Normal file
@@ -0,0 +1,7 @@
|
||||
<header>Exceptions for senders to never classify as spam</header>
|
||||
|
||||
The <tt>unwhitelist_from</tt> option is used to override a sender to never
|
||||
classify as spam, for example to be more specific or to block an address that is
|
||||
allowed globally. <p>
|
||||
|
||||
<footer>
|
||||
Reference in New Issue
Block a user