24966 Commits

Author SHA1 Message Date
Ilia Ross
bdad9fd173 Update changelog
Some checks are pending
webmin.dev: webmin/webmin / build (push) Waiting to run
[no-build]
2026-05-05 23:49:21 +02:00
Ilia Ross
7e01b3eb44 Fix to set XDG runtime and D-Bus env in xterm shells
Some checks failed
webmin.dev: webmin/webmin / build (push) Has been cancelled
https://github.com/webmin/webmin/issues/2679
2026-05-05 09:41:45 +02:00
Ilia Ross
95fee0cc33 Add nice header generation for saved nftables rules
Some checks failed
webmin.dev: webmin/webmin / build (push) Has been cancelled
2026-05-04 17:42:40 +02:00
Jamie Cameron
18a6fc3b53 Fix label
Some checks failed
webmin.dev: webmin/webmin / build (push) Has been cancelled
2026-05-03 17:59:52 -07:00
Jamie Cameron
c38793c955 Fix permissions on CGIs 2026-05-03 17:57:24 -07:00
Ilia Ross
45376dee35 Update changelog 2026-05-04 01:29:06 +02:00
Ilia Ross
44ff20e5c6 Fix to perltidy new nftables module to convert spaces to tabs
Some checks failed
webmin.dev: webmin/webmin / build (push) Has been cancelled
2026-05-03 22:36:31 +02:00
Ilia Ross
159cc14dfc Add a warning message if any foreign firewall modules are detected 2026-05-03 21:39:28 +02:00
Ilia Ross
aa84044375 Add boot-time apply support for nftables rules
* Note: The boot action applies saved module-managed nftables tables, creates the needed wrapper, fixes executable permissions, and removes generated boot files when disabled.
2026-05-03 20:23:48 +02:00
Ilia Ross
02b5c9c121 Fix limit nftables header actions to index page 2026-05-03 19:25:38 +02:00
Ilia Ross
b5518df7bd Fix editable size 2026-05-03 19:13:24 +02:00
Ilia Ross
2c608b2c71 Fix to bump sets elements limit
[no-build]
2026-05-03 19:02:32 +02:00
Ilia Ross
d1523b9648 Add nftables profile ruleset helper
* Note: Add a reusable save_profile_ruleset() API for other modules (like Virtualmin Config), and.

Example:

foreign_require("nftables");
nftables::save_profile_ruleset('profile_virtualmin', 'virtualmin', '*');
2026-05-03 19:00:01 +02:00
Ilia Ross
9987b2d493 Update labels (again) 2026-05-03 18:52:31 +02:00
Ilia Ross
83eb3eeffc Fix to factor nftables profile ruleset generation into library 2026-05-03 18:41:57 +02:00
Ilia Ross
a6e6b1d21c Fix to normalize text keys to work properly with iconed buttons 2026-05-03 18:34:32 +02:00
Ilia Ross
e65c88e7ef Fix to drop another footgun with configurable rules file 2026-05-03 18:05:59 +02:00
Ilia Ross
2bcf00b50d Fix nftables and firewall modules title for consistency and clarity
* Note: Rename legacy iptables firewalls and make nftables the Linux Firewall
2026-05-03 17:57:48 +02:00
Ilia Ross
eb4fafc504 Add missing comments 2026-05-03 17:17:40 +02:00
Ilia Ross
5101871760 Add manual editing for nftables configuration files 2026-05-03 17:12:35 +02:00
Ilia Ross
0c8f74597b Add proper ACLs to nftables module
[no-build]
2026-05-03 16:44:26 +02:00
Ilia Ross
d3a09db938 Fix text consistency 2026-05-03 15:45:25 +02:00
Ilia Ross
f4fea0026f Fix to generate nftables profiles with service port sets instead
* Note: Create profile rulesets using named inet_service sets for selected service ports instead of emitting one accept rule per port. Keep scoped rules such as DHCPv6 and mDNS explicit, split TCP and UDP port sets to avoid widening access, and normalize interval set elements so ranges are valid and non-overlapping.
2026-05-03 15:40:30 +02:00
Ilia Ross
dbb19c30c4 Remove restart button from other pages for consistency 2026-05-03 15:08:51 +02:00
Ilia Ross
5c66e544b1 Add ability to flush all clearable tables at once 2026-05-03 15:03:36 +02:00
Ilia Ross
5671bd4ce6 Fix file locking 2026-05-03 14:49:32 +02:00
Ilia Ross
12eff54277 Add nftables apply-needed header action
* Note: Track saved nftables configuration changes with Apache-style config/apply timestamp flags, expose the standard restart.cgi header action for themes, and use it as the single apply endpoint. The button expands to “Apply Changes” when saved rules need applying, while the existing Apply Configuration action now routes through restart.cgi and clears the pending state after a successful apply.
2026-05-03 13:59:58 +02:00
Ilia Ross
6c1de362e3 Fix locked profile 2026-05-03 13:14:23 +02:00
Ilia Ross
1d2e1983bf Fix wording 2026-05-03 13:07:46 +02:00
Ilia Ross
91f7d5b5c5 Add a quick allow and quick block UI feature 2026-05-03 13:05:31 +02:00
Ilia Ross
9d7f4f9d05 Fix profiles
Some checks failed
webmin.dev: webmin/webmin / build (push) Has been cancelled
[no-build]
2026-05-03 00:44:56 +02:00
Ilia Ross
bedca1546b Fix to revert to using a table for links and move buttons 2026-05-03 00:44:56 +02:00
Ilia Ross
0e4349565a Fix to return on redirect 2026-05-03 00:44:55 +02:00
Ilia Ross
a0fb85c152 Fix language when importing a table 2026-05-03 00:44:55 +02:00
Ilia Ross
599caa1cd8 Fix to simplify language sting 2026-05-03 00:44:55 +02:00
Ilia Ross
1d5b426043 Add active nftables table clear action 2026-05-03 00:44:55 +02:00
Ilia Ross
d61852cc72 Fix to use conventional layout for delete confirmation 2026-05-03 00:44:54 +02:00
Ilia Ross
fd567e6860 Fix to delete nftables tables from active ruleset
* Note: When a table is deleted from the nftables module, also remove that same table from the active kernel ruleset. The delete path now updates the saved Webmin configuration first, then runs a targeted nft delete table for the selected table only, after checking that the active table is not externally managed.
2026-05-03 00:44:54 +02:00
Ilia Ross
0cdcb932b1 Drop showing unnecessary label when empty 2026-05-03 00:44:54 +02:00
Ilia Ross
2fe57dd456 Fix to validate nftables set usage in rules
* Note: Prevent incompatible nftables sets from being used in rule fields. The rule editor now only offers address sets for address matches and port/service sets for port matches, while save and apply paths validate existing set references before writing or loading rules. This avoids nft datatype mismatch errors such as using inet_proto sets with tcp dport.
2026-05-03 00:44:54 +02:00
Ilia Ross
c8bcccd9b9 Fix sets textarea take whole row 2026-05-03 00:44:54 +02:00
Ilia Ross
272a8715f7 Add profiles support 2026-05-03 00:44:54 +02:00
Jamie Cameron
a664b9d0c0 Add option to turn off running commands 2026-05-02 15:33:41 -07:00
Jamie Cameron
80d1e688c8 Prep for new version
Some checks failed
webmin.dev: webmin/webmin / build (push) Has been cancelled
2026-05-02 10:19:39 -07:00
Ilia Ross
3c9d53109b Fix to rework nftables management around saved tables
Rework the nftables module so Webmin manages its saved nftables configuration as the source of truth instead of directly editing the live ruleset. Add an active ruleset view for inspecting live tables and importing copies into Webmin-managed config if needed, track managed and imported tables with metadata, and prevent externally managed tables from being overwritten during apply.

Co-authored-by: Copilot <copilot@github.com>
2026-05-02 19:02:37 +02:00
Ilia Ross
6825dc11d6 Fix to delete chains and sets immediately 2026-05-02 17:30:59 +02:00
Ilia Ross
1ed1ff84a2 Fix to use tabs over spaces 2026-05-02 17:18:54 +02:00
Ilia Ross
4220d18072 Fix to improve table, chain and set management UI
Rework the nftables index page to make table, chain, and set management clearer. Move table actions next to the table selector, split chains and sets into tabs, use checked tables with standard select/invert controls for bulk deletes, move Add Rule into the Actions column, and replace nested rule tables with tag-based row layout.
2026-05-02 17:11:29 +02:00
Ilia Ross
7f2b4b00aa Fix to scope direct-mode changes to selected tables
Fix nftables direct-mode operations so create, edit, delete, and move actions apply only the selected table instead of rewriting or applying the full ruleset. This avoids copying firewalld-owned rules, or any other externally managed rules, into Webmin’s save file and prevents operations from failing against externally managed tables. Also remove previously added unsafe full-ruleset flush action and keep Apply Configuration out of direct mode (will be further reworked).
2026-05-02 17:08:35 +02:00
Ilia Ross
6fb304e384 Add a separate button for flushing active rulesets
Some checks failed
webmin.dev: webmin/webmin / build (push) Has been cancelled
[rebuild-all-modules]
2026-05-02 02:00:11 +02:00