Commit Graph

25355 Commits

Author SHA1 Message Date
Ilia Ross
f23620aebf Fix APT package arch normalization
Some checks failed
Tests / prove (push) Has been cancelled
Package and upload artifacts / build (push) Has been cancelled
ⓘ Normalize APT install-result names like `libtinfo6:amd64` to `libtinfo6` so scheduled updates can correctly detect dependency-updated packages and avoid false failure reports.

https://github.com/virtualmin/virtualmin-gpl/issues/1247
2026-07-05 14:26:35 +02:00
Ilia Ross
f2fa917827 Add test 2026-07-05 13:22:43 +02:00
Ilia Ross
80ee472980 Fix to compare version strings safely 2026-07-05 13:18:18 +02:00
Ilia Ross
1b4e2cadd4 Fix to count missing Maildirs as empty
https://github.com/virtualmin/virtualmin-gpl/issues/1248
2026-07-05 13:06:15 +02:00
Ilia Ross
01780834ba Fix to extract XML-RPC helpers from CGI entry point
Some checks failed
Tests / prove (push) Has been cancelled
Package and upload artifacts / build (push) Has been cancelled
Close inactive / close-inactive (push) Has been cancelled
ⓘ Move XML-RPC marshalling helpers into `xmlrpc-lib.pl`, remove the caller guard from `xmlrpc.cgi`, and preserve coverage through direct library tests plus the CGI invocation regression.

https://github.com/webmin/webmin/pull/2763
2026-07-05 01:56:56 +02:00
Ilia Ross
9c76a2c809 Fix to remove xterm shellserver require guard
https://github.com/webmin/webmin/pull/2730
2026-07-05 01:15:08 +02:00
Jamie Cameron
6480e8c4b0 Merge pull request #2776 from webmin/dev/selinux-config
Some checks failed
Tests / prove (push) Has been cancelled
Package and upload artifacts / build (push) Has been cancelled
Close inactive / close-inactive (push) Has been cancelled
Fix SELinux labeling for Webmin runtime data
2026-07-04 09:51:07 +12:00
Ilia Ross
8856b13c64 Fix to use command -v instead 2026-07-03 21:26:20 +02:00
Jamie Cameron
2d350b8cba Always stop trusting SSL client cert from proxies 2026-07-03 12:03:31 -07:00
Jamie Cameron
a40a08efed Always quote paths 2026-07-03 10:15:51 -07:00
Ilia Ross
a66b142c5b Fix sleep can be zero
Some checks failed
Tests / prove (push) Has been cancelled
Package and upload artifacts / build (push) Has been cancelled
2026-07-03 12:47:25 +02:00
Jamie Cameron
e84e4c3fe6 Add new ACL option for batch directory
Some checks failed
Tests / prove (push) Has been cancelled
Package and upload artifacts / build (push) Has been cancelled
Close inactive / close-inactive (push) Has been cancelled
2026-07-02 19:10:23 -07:00
Jamie Cameron
1369e531d8 Revert "Use the more supported which instead of command"
Some checks failed
Tests / prove (push) Has been cancelled
Package and upload artifacts / build (push) Has been cancelled
This reverts commit 5717390a17.
2026-07-02 16:35:28 -07:00
Ilia Ross
c06cd1bf30 Update changelog
Some checks failed
Tests / prove (push) Has been cancelled
Package and upload artifacts / build (push) Has been cancelled
[no-build]
2026-07-02 16:24:20 +02:00
Ilia Ross
eb40e65fb3 Fix SSL and TCP monitor false uninstalled alerts
ⓘ Report SSL certificate and TCP connection, timeout, and DNS failures as down or timed out instead of not installed, and tighten built-in status
monitor loading.

The SSL certificate and TCP monitors returned -1 (not installed) for
connection failures, timeouts, and DNS errors, causing false "service
uninstalled" then "back up" notifications. Report these as down (0) or timed out (-3) instead, reserving -1 for genuinely missing.

Also survive a broken monitor library without aborting the whole scheduled check run, and fix the remote alive-monitor Webmin-down fallback typo.

https://forum.virtualmin.com/t/service-monitor-uninstalled-then-back-up/137514?u=ilia
2026-07-02 16:16:46 +02:00
Ilia Ross
8ecb615288 Fix to use use portable shell command probes 2026-07-01 13:16:41 +02:00
Jamie Cameron
1dc4d14ff8 Merge branch 'master' of github.com:webmin/webmin
Some checks failed
Tests / prove (push) Has been cancelled
Package and upload artifacts / build (push) Has been cancelled
Close inactive / close-inactive (push) Has been cancelled
2026-06-30 21:18:23 -07:00
Jamie Cameron
5717390a17 Use the more supported which instead of command 2026-06-30 21:17:45 -07:00
Ilia Ross
5760fc98ba Fix patch sub-command to reload Webmin instead of restarting
Some checks failed
Tests / prove (push) Has been cancelled
Package and upload artifacts / build (push) Has been cancelled
https://forum.virtualmin.com/t/usermin-2-550-login-from-the-virtualmin-edit-users-page-stopped-working/137491/29?u=ilia
2026-06-30 22:03:39 +02:00
Jamie Cameron
a94ff2c49a Merge branch 'master' of github.com:webmin/webmin
Some checks failed
Tests / prove (push) Has been cancelled
Package and upload artifacts / build (push) Has been cancelled
Close inactive / close-inactive (push) Has been cancelled
2026-06-29 20:18:06 -07:00
Jamie Cameron
ec78452e7b Add missing icons 2026-06-29 20:17:23 -07:00
Ilia Ross
a7325b9087 Update changelog for 2.652 2026-06-30 01:47:25 +02:00
Ilia Ross
cc4bb35dee Update tests to recognize hex numeric HTML entities
Some checks failed
Tests / prove (push) Has been cancelled
Package and upload artifacts / build (push) Has been cancelled
2026-06-29 23:28:48 +02:00
Ilia Ross
aa2282778e Fix to recognize hex numeric HTML entities
https://forum.virtualmin.com/t/char-redered-as-x25e6/137494/6?u=ilia
2026-06-29 23:28:28 +02:00
Jamie Cameron
1c9d57f5dd Safe mode in the custom commands module just allows execution of commands
Some checks failed
Tests / prove (push) Has been cancelled
Package and upload artifacts / build (push) Has been cancelled
Close inactive / close-inactive (push) Has been cancelled
2.651
2026-06-28 17:17:21 -07:00
Jamie Cameron
4ffa02d636 New version bump 2026-06-28 15:39:34 -07:00
Ilia Ross
57ad5fa535 Update labels
Some checks failed
Tests / prove (push) Has been cancelled
Package and upload artifacts / build (push) Has been cancelled
2026-06-28 23:02:39 +02:00
Ilia Ross
a3f5ea3381 Update changelog
Some checks failed
Tests / prove (push) Has been cancelled
Package and upload artifacts / build (push) Has been cancelled
Close inactive / close-inactive (push) Has been cancelled
2026-06-28 02:40:46 +02:00
Ilia Ross
2579cf54d9 Fix output 2026-06-27 23:45:31 +02:00
Ilia Ross
fa06c02be5 Update changelog
Some checks failed
Tests / prove (push) Has been cancelled
Package and upload artifacts / build (push) Has been cancelled
https://forum.virtualmin.com/t/cant-create-letsencrypt-cert-with-webmin-2-650/137484/14?u=ilia
2026-06-27 23:26:28 +02:00
Ilia Ross
d02f0b6cb5 Fix Let's Encrypt Certbot PEM path parsing
ⓘ Prevent Webmin from swallowing Certbot's key-path output when extracting PEM paths, while preserving IPv6 cert-name support and adding regression coverage.
2026-06-27 22:59:21 +02:00
Ilia Ross
81d44f8491 Fix live activation of Linux bond interfaces
ⓘ Create and configure missing bond devices with ip link, attach partner interfaces before assigning addresses, avoid legacy module auto-creation when ip is available, and add regression coverage.

Ref.: https://github.com/webmin/webmin/pull/2777
2026-06-27 18:16:38 +02:00
Ilia Ross
6135c01d57 Update changelog
Some checks failed
Tests / prove (push) Has been cancelled
Package and upload artifacts / build (push) Has been cancelled
Close inactive / close-inactive (push) Has been cancelled
2026-06-26 23:30:00 +02:00
Ilia Ross
58f239b75c Fix SELinux labeling for Webmin runtime data
This PR adds SELinux context handling for Webmin’s default runtime directory on EL systems.

Setup now persists and applies a `var_run_t` fcontext rule when SELinux is enabled, falls back safely when SELinux tooling is unavailable, and removes the local fcontext rule when `/var/webmin` is deleted during uninstall.
2026-06-26 11:51:39 +02:00
Jamie Cameron
5aa69015f6 New version bump
Some checks failed
Tests / prove (push) Has been cancelled
Package and upload artifacts / build (push) Has been cancelled
Close inactive / close-inactive (push) Has been cancelled
2.650
2026-06-25 16:08:32 -07:00
Ilia Ross
061a4ae0d3 Update changelog for 2.650
Some checks failed
Tests / prove (push) Has been cancelled
Package and upload artifacts / build (push) Has been cancelled
Close inactive / close-inactive (push) Has been cancelled
2026-06-25 00:56:03 +02:00
Jamie Cameron
031a8b8261 Merge pull request #2775 from webmin/dev/fix-miniserv-restart-loop
Fix to recover from a stale PID file whose PID was reused
2026-06-25 08:23:26 +12:00
Ilia Ross
18296d3a55 Fix to simply skip stale PID file check
https://github.com/webmin/webmin/pull/2775#issuecomment-4792905755
2026-06-24 22:13:14 +02:00
Ilia Ross
18bf94af6a Fix possible startup loop with stale PID file after PID reuse
This PR fixes an issue where, after an unclean exit, Webmin can leave `miniserv.pid` behind.

If the kernel later reuses that PID for an unrelated process, the startup guard only checked that the PID was alive and refused to start with “Webmin is already running”.

With systemd restart handling, this can leave Webmin permanently down until the PID file is manually removed.

This change verifies that the live PID actually belongs to `miniserv.pl` running the same config before treating it as an active Webmin instance.

On Linux, it reads `/proc/<pid>/cmdline`, checks the miniserv script, and compares the config file by inode so symlinked paths still match and Usermin is correctly distinguished.

If the PID is confirmed unrelated, the stale PID file is removed and startup continues. If the process cannot be inspected, the previous conservative behavior is preserved.

Also hardens PID-file parsing with chomp and numeric validation, and adds tests for unrelated PID reuse, matching config, symlinked config, different miniserv config, and unreadable command-line fallback.
2026-06-24 17:37:02 +02:00
Jamie Cameron
d2f9e339f2 Merge pull request #2774 from webmin/dev/miniserv-harden-ws-rw
Some checks failed
Tests / prove (push) Has been cancelled
Package and upload artifacts / build (push) Has been cancelled
Fix to harden WebSocket backend writes
2026-06-24 17:35:52 +12:00
Ilia Ross
1a2046b1e3 Fix to harden WebSocket backend writes
This PR ensure proxied WebSocket backend writes complete the full buffer for both TLS and plain TCP connections.

Fail backend handshakes cleanly if writes cannot be completed, preventing truncated headers or frames from corrupting linked WebSocket tunnels.

Originally hinted by this code review: d1d1bad4ae (r189931785)
2026-06-24 01:14:32 +02:00
Ilia Ross
db8e34e528 Fix to read SSH key from real home path
Some checks failed
Tests / prove (push) Has been cancelled
Package and upload artifacts / build (push) Has been cancelled
Close inactive / close-inactive (push) Has been cancelled
ⓘ Display Webmin-managed SSH public keys from the configured real home directory for automatic home accounts, matching the save path and avoiding accidental blank key fields.
2026-06-24 00:54:26 +02:00
Ilia Ross
6a1200bc03 Fix to pass request with header if required 2026-06-24 00:30:06 +02:00
Ilia Ross
c94ddc5ec8 Fix to delete selected unit files safely
ⓘ Make system unit deletion operate on the selected unit file, preserve vendor deletion policy, and reject invalid/stale delete targets before any stop or disable side effects.

https://github.com/webmin/webmin/actions/runs/28058126464/job/83065504870
2026-06-24 00:09:43 +02:00
Ilia Ross
0290ec16a5 Fix to make packaged unit edits opt-in
ⓘ Default packaged unit files to read-only, keep drop-ins as the safe override path, hide boot controls for protected base units, and reject [Install] sections in drop-in overrides.
2026-06-23 23:24:44 +02:00
Ilia Ross
41b476c87a Fix to gate packaged unit deletion behind config
ⓘ Add a disabled-by-default module option for deleting packaged systemd unit files, while keeping local unit deletion allowed and enforcing the policy in both UI and backend paths.
2026-06-23 23:24:43 +02:00
Jamie Cameron
7a68b1b994 Merge pull request #2771 from webmin/dev/useradmin-edit-ssh-keys
Add editable SSH public keys for existing Unix users
2026-06-23 14:15:13 -07:00
Ilia Ross
0dbb5d2f89 Fix to share ifupdown parser with network detection
Some checks failed
Tests / prove (push) Has been cancelled
Package and upload artifacts / build (push) Has been cancelled
2026-06-23 15:00:32 +02:00
Ilia Ross
27dcd2db4a Fix to validate SSH public keys without root privileges 2026-06-23 12:41:58 +02:00
Jamie Cameron
147e53e5db Merge pull request #2769 from webmin/dev/add-deb-dhcpcd-support-1607
Some checks failed
Tests / prove (push) Has been cancelled
Package and upload artifacts / build (push) Has been cancelled
Close inactive / close-inactive (push) Has been cancelled
Add dhcpcd network backend for Debian and Raspberry Pi OS
2026-06-22 21:21:33 -07:00