Firewall: Rules - allow multiple options in source/destination address fields.
work in progress.
o remove current clunky input and re-use the same javascript hooks as in MVC
o re-use OPNsense\Firewall\Api\FilterController to list available options
ui: initial plumbing to support multiple source/destinations in network alias fields.
o remove Multiple constraint from NetworkAliasField
o add "multiple" option in replaceInputWithSelector to convert selector into a multi-select
Firewall: Automation: Filter - offer "multi-select" on source and destination addresses.
When selecting multiple source or targets, a cartesian product is created for all combinations (one defined rule turns into multiple actual rules).
In order to make this possible, we needed to refactor the base rule parsing. our generic `reader()` multiplies rules, which it already did for interfaces and ipprotocol.
When feeding lists to `pf(4)` a similar action would be performed.
The `convertAddress()` method has been renamed to `legacyMoveAddressFields()` as it now only remaps field structures into flattened fields, without validating their contents.
This is needed so we can split source/destinations without caring about their validity (yet), `mapAddressInfo()` is added next which contains the same logic as previously in `convertAddress()` but executed after splitting the fields.
The "Automation" module is more or less a reference implementation to show how the backend handles these now, 22fd0bf8763e14a5e1e7694853af0893dae585b7 is required for this to work.
All changes should be backwards compatible, but deliver a slightly different ruleset in some cases (when multiple entries are already used), e.g. the rule below would be split into two on our end now:
https://github.com/opnsense/core/blob/397a3dcdcefae4f0f99e45c74a613aea70fafa44/src/etc/inc/filter.lib.inc#L231-L237
`pfctl -sr` already showed two before our change.
dashboard: Add certificate widget that displays CAs and Certs sorted by expiration date (#8105)
* dashboard: Add certificate widget that displays CAs and Certs sorted by expiration date
* dashboard: Certificate widget, fix certificate hiding configuration, refresh immediately on config change, increase tick timeout
* dashboard: Certificate widget, different text for expired certificates
* dashboard: Certificate widget, create links that fill the search-field of the bootgrid to display the certificate directly
* dashboard: Certificate widget, search for uuid in bootgrid and call corresponding form
unbound: make this workaround permanent
This bundle file is here for general consumption and the time it
has already taken to debug this issue is not justifiable for
pursuing the matter any further. Other approaches regarding
chroot and directory sharing are likely going to be much more
code which would make another solution more fragile as well.
While here remove a strange directory in the chroot that is not
even used.
System: Configuration: Defaults - report actual lan address being used after factory reset.
(cherry picked from commit a6337fff165390b4d30c27e476b3d099f884ad41)
mvc: fix hint display for "0"
This also displays empty hint "" but given the fact the
user supplied it we're not going to argue about it.
(cherry picked from commit 1dcec96bcb89b29b1bd5338fab778d0c34236be7)