config: ignore future backups when they exist, closes https://github.com/opnsense/core/issues/9802
Although this is quite uncommon, having a machine with its clock set in the future for some time may leave backups that prevent future backups being made (because of the configured number of backups).
Usually diskspace is not really an issue and just removing future backups without knowing what the actual time is has downsides too, so lets leave them there and ignore them to warrant normal operation.
Firewall: Diagnostics: States - minor glitch in searching, when no specific networks are selected, match all and offered filter. closes https://github.com/opnsense/core/issues/9876
configd: remove constant cleanups as they may influence requests from other threads executing different commands. As the file operations are already locked, we can simply trust these and close https://github.com/opnsense/core/issues/9864
In theory we might require a bit more temp space by not removing the already executed commands, but in practice that's likely not a huge issue.
If we would like to cleanup periodically, we would require the communication to stall for a bit when performing these cleanups on cached commands or flush their contents instead of removing them (so we can lock the files in the process). For now we assume the amount of cached commands is not very large and their content is managable.
Firewall: Diagnostics: States - replacement of SanitizeFilter() seems to have killed our state network lookup, strings should be safe to pass here, closes https://github.com/opnsense/core/issues/9876
log files: fix 'go to page' edge case and row count persistence/max
The log controller defines 5000 rows as the limit to prevent OOM
issues, however, since the front-end knows nothing about this,
setting the row count to "all" will only show the first
5000 result without a way to paginate, even if there are more
log entries. Logically, if the controller defines 5000 as a limit,
the view shouldn't allow "all" as a selection, so override it here.
Furthermore, row count "all" was a boolean, which broke the "go to page"
button. While "all" isn't allowed anymore now, we should check
if the value is a boolean regardless. Also, the grid wasn't
indexing on "rnum" properly, so the grid had no idea where to scroll
to once clicked.
(cherry picked from commit 13f45bca921f66b3ecba731b701a8f63e99ddd0e)
Firewall: Rules [new]: Reduce complexity in url hash handling and when using firewall_rule_lookup (#9773)
* Reduce complexity of firewall_rule_lookup, we have an all rules entrypoint now, so potentially we could just search for the UUID of the rule without concerning us with interfaces anymore
* Clean up URL hash logic, we only allow #search and #interface now and need no special handling
* Only get the hash once, use it everywhere, re-add missing null fallback and initialized interface variable
* The hash was consumed too early now, fix it by shifting to the new spot where the variable is used last
(cherry picked from commit d976ae7b6b0f06c235d22de087e4904c28b1286c)
Firewall: Rules [new]: Move download and upload commands out of partial into global commands (#9781)
(cherry picked from commit d5a50a98c21eb592348cfb293986f3f0c06906aa)
Firewall: Rules [new]: Add a command button to open the live log with prefilled rule ID (#9770)
fw_log.volt:
Uses a url hash inside fw_log.volt to set a filter when opening it through a link from filter_rule.volt
The url hash can set any type of a single filter, so it can be reused in other pages as well.
Combine entry point of addCombinedFilter and addFilter, decide via array in field what type it is.
Change init entrypoint to always go through the filterChange() pipeline, but have a fast path in there that initializes without a filter. This adds the filter immediately when loading with the page with the URL hash
Make sure we want for tableBuilt to prevent replaceData errors
filter_rule.volt
Only show the log search button when row.log is 1 or true
Change fa icon in the lookup rule reference button in dnat as well for consistency
Use URLSearchParams()
---------
Co-authored-by: Stephan de Wit <stephan.de.wit at deciso.com>
(cherry picked from commit 63e0b92278ad4c5e4b0db9746599903089bf14dd)
system: create a backup on factory reset
This way we can see all the migrations taking place instead of hiding
them by squashing them into the first backup. This is very important
for image testing as 26.1 taught us.
(cherry picked from commit da4fbf7ee942d6ce0e7b0a475b4d20577dd37183)
system: create a backup on factory reset
This way we can see all the migrations taking place instead of hiding
them by squashing them into the first backup. This is very important
for image testing as 26.1 taught us.