OPNSense/core 918ba63src/opnsense/mvc/app/models/OPNsense/Core/ACL ACL.xml, src/opnsense/mvc/app/models/OPNsense/Core/Menu Menu.xml

system: fix snapshot ACL; closes #8111
DeltaFile
+2-2src/opnsense/mvc/app/models/OPNsense/Core/ACL/ACL.xml
+1-1src/opnsense/mvc/app/models/OPNsense/Core/Menu/Menu.xml
+3-32 files

OPNSense/core f629e19src/www firewall_rules_edit.php guiconfig.inc

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
DeltaFile
+74-96src/www/firewall_rules_edit.php
+4-1src/www/guiconfig.inc
+78-972 files

OPNSense/core 4789c2asrc/opnsense/mvc/app/models/OPNsense/Base/FieldTypes NetworkAliasField.php, src/opnsense/www/js opnsense_ui.js

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
DeltaFile
+15-4src/opnsense/www/js/opnsense_ui.js
+0-9src/opnsense/mvc/app/models/OPNsense/Base/FieldTypes/NetworkAliasField.php
+15-132 files

OPNSense/core 1293c51src/opnsense/mvc/app/controllers/OPNsense/Firewall/forms dialogFilterRule.xml, src/opnsense/mvc/app/library/OPNsense/Firewall Rule.php

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.
DeltaFile
+145-86src/opnsense/mvc/app/library/OPNsense/Firewall/Rule.php
+30-1src/opnsense/mvc/app/views/OPNsense/Firewall/filter.volt
+6-8src/opnsense/mvc/app/models/OPNsense/Firewall/FieldTypes/FilterRuleField.php
+13-0src/opnsense/mvc/app/models/OPNsense/Firewall/Filter.php
+2-2src/opnsense/mvc/app/controllers/OPNsense/Firewall/forms/dialogFilterRule.xml
+2-0src/opnsense/mvc/app/models/OPNsense/Firewall/Filter.xml
+198-976 files

OPNSense/core 397a3dcsrc/opnsense/mvc/app/controllers/OPNsense/Trust/Api CaController.php CertController.php, src/opnsense/mvc/app/views/OPNsense/Trust ca.volt cert.volt

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
DeltaFile
+188-0src/opnsense/www/js/widgets/Certificates.js
+28-0src/opnsense/mvc/app/views/OPNsense/Trust/ca.volt
+27-0src/opnsense/mvc/app/views/OPNsense/Trust/cert.volt
+18-0src/opnsense/www/js/widgets/Metadata/Core.xml
+1-1src/opnsense/mvc/app/controllers/OPNsense/Trust/Api/CaController.php
+1-1src/opnsense/mvc/app/controllers/OPNsense/Trust/Api/CertController.php
+263-21 files not shown
+264-27 files

OPNSense/core a50c2b8src/opnsense/mvc/app/controllers/OPNsense/Trust/Api CaController.php CertController.php, src/opnsense/mvc/app/views/OPNsense/Trust ca.volt cert.volt

dashboard: Certificate widget, search for uuid in bootgrid and call corresponding form
DeltaFile
+15-10src/opnsense/mvc/app/views/OPNsense/Trust/ca.volt
+15-10src/opnsense/mvc/app/views/OPNsense/Trust/cert.volt
+1-1src/opnsense/mvc/app/controllers/OPNsense/Trust/Api/CaController.php
+1-1src/opnsense/mvc/app/controllers/OPNsense/Trust/Api/CertController.php
+1-1src/opnsense/www/js/widgets/Certificates.js
+33-235 files

OPNSense/core 763cd8bsrc/opnsense/mvc/app/views/OPNsense/Trust ca.volt cert.volt, src/opnsense/www/js/widgets Certificates.js

dashboard: Certificate widget, create links that fill the search-field of the bootgrid to display the certificate directly
DeltaFile
+23-0src/opnsense/mvc/app/views/OPNsense/Trust/ca.volt
+22-0src/opnsense/mvc/app/views/OPNsense/Trust/cert.volt
+5-2src/opnsense/www/js/widgets/Certificates.js
+50-23 files

OPNSense/core f4b9017src/etc/inc/plugins.inc.d unbound.inc, src/opnsense/service/templates/OPNsense/Unbound/core dot.conf

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.
DeltaFile
+1-1src/etc/inc/plugins.inc.d/unbound.inc
+0-2src/opnsense/service/templates/OPNsense/Unbound/core/dot.conf
+1-32 files

OPNSense/core 26b7b19src/opnsense/www/js/widgets Certificates.js

dashboard: Certificate widget, only use trust endpoints
DeltaFile
+4-43src/opnsense/www/js/widgets/Certificates.js
+4-431 files

OPNSense/core 592d9d5src/opnsense/mvc/app/library/OPNsense/Auth LDAP.php

system: fix TOTP regression when used with LDAP, although https://github.com/opnsense/core/commit/ae97263e was the right fix, it assumes other children also implement _authenticate()

(cherry picked from commit f271c6a3fc4cb1f1656eaa46303cfb2669ab7249)
DeltaFile
+12-1src/opnsense/mvc/app/library/OPNsense/Auth/LDAP.php
+12-11 files

OPNSense/core dbeed6fsrc/opnsense/scripts/firmware latest.php, src/opnsense/service/conf/actions.d actions_firmware.conf

firmware: extend this a little to run latest vs. current test

PR: https://forum.opnsense.org/index.php?topic=44438.0
DeltaFile
+3-4src/opnsense/scripts/firmware/latest.php
+6-0src/opnsense/service/conf/actions.d/actions_firmware.conf
+9-42 files

OPNSense/core d55e2c5src/opnsense/www/themes/opnsense-dark/assets/stylesheets main.scss, src/opnsense/www/themes/opnsense-dark/assets/stylesheets/bootstrap _variables.scss

ui: official OPNsense dark theme, minor spacing changes (top heading / login)
DeltaFile
+23-23src/opnsense/www/themes/opnsense-dark/build/css/main.css
+7-7src/opnsense/www/themes/opnsense-dark/assets/stylesheets/main.scss
+1-1src/opnsense/www/themes/opnsense-dark/assets/stylesheets/bootstrap/_variables.scss
+31-313 files

OPNSense/core f271c6asrc/opnsense/mvc/app/library/OPNsense/Auth LDAP.php

system: fix TOTP regression when used with LDAP, although https://github.com/opnsense/core/commit/ae97263e was the right fix, it assumes other children also implement _authenticate()
DeltaFile
+12-1src/opnsense/mvc/app/library/OPNsense/Auth/LDAP.php
+12-11 files

OPNSense/core 419491fsrc/opnsense/www/themes/opnsense-dark/assets/stylesheets main.scss, src/opnsense/www/themes/opnsense-dark/build/css nv.d3.css

src: style sweep
DeltaFile
+1-1src/opnsense/www/themes/opnsense-dark/build/css/nv.d3.css
+0-1src/opnsense/www/themes/opnsense-dark/assets/stylesheets/main.scss
+1-22 files

OPNSense/core 607e32asrc/opnsense/www/themes/opnsense-dark/assets/stylesheets main.scss, src/opnsense/www/themes/opnsense-dark/assets/stylesheets/bootstrap _variables.scss _navbar.scss

ui: add official OPNsense dark theme
DeltaFile
+7,387-0src/opnsense/www/themes/opnsense-dark/build/css/main.css
+851-0src/opnsense/www/themes/opnsense-dark/assets/stylesheets/bootstrap/_variables.scss
+845-0src/opnsense/www/themes/opnsense-dark/assets/stylesheets/main.scss
+658-0src/opnsense/www/themes/opnsense-dark/assets/stylesheets/bootstrap/_navbar.scss
+656-0src/opnsense/www/themes/opnsense-dark/build/css/nv.d3.css
+540-0src/opnsense/www/themes/opnsense-dark/assets/stylesheets/bootstrap/_forms.scss
+10,937-0114 files not shown
+20,157-0120 files

OPNSense/core 1b6cd5bsrc/opnsense/www/js/widgets Certificates.js, src/opnsense/www/js/widgets/Metadata Core.xml

dashboard: Certificate widget, different text for expired certificates
DeltaFile
+5-2src/opnsense/www/js/widgets/Certificates.js
+2-1src/opnsense/www/js/widgets/Metadata/Core.xml
+7-32 files

OPNSense/core 6586a65src/opnsense/www/themes/opnsense-dark/assets/stylesheets main.scss, src/opnsense/www/themes/opnsense-dark/assets/stylesheets/bootstrap _variables.scss _navbar.scss

ui: add official OPNsense dark theme
DeltaFile
+7,388-0src/opnsense/www/themes/opnsense-dark/build/css/main.css
+851-0src/opnsense/www/themes/opnsense-dark/assets/stylesheets/bootstrap/_variables.scss
+846-0src/opnsense/www/themes/opnsense-dark/assets/stylesheets/main.scss
+658-0src/opnsense/www/themes/opnsense-dark/assets/stylesheets/bootstrap/_navbar.scss
+656-0src/opnsense/www/themes/opnsense-dark/build/css/nv.d3.css
+540-0src/opnsense/www/themes/opnsense-dark/assets/stylesheets/bootstrap/_forms.scss
+10,939-0114 files not shown
+20,159-0120 files

OPNSense/core e189928src/opnsense/www/js/widgets Certificates.js

dashboard: Certificate widget, remove stray console log
DeltaFile
+0-1src/opnsense/www/js/widgets/Certificates.js
+0-11 files

OPNSense/core ab9a3f8src/opnsense/www/js/widgets Certificates.js

dashboard: Certificate widget, fix certificate hiding configuration, refresh immediately on config change, increase tick timeout
DeltaFile
+6-5src/opnsense/www/js/widgets/Certificates.js
+6-51 files

OPNSense/core 4260023src/opnsense/service/templates/OPNsense/Unbound/core dot.conf

unbound: erm, point to a bundle as it will not handle /etc/ssl/certs ?

PR: https://forum.opnsense.org/index.php?topic=44414.0
(cherry picked from commit cdb8da7266105945adf7e7b36061abc770f9c9f6)
DeltaFile
+3-1src/opnsense/service/templates/OPNsense/Unbound/core/dot.conf
+3-11 files

OPNSense/core cdb8da7src/opnsense/service/templates/OPNsense/Unbound/core dot.conf

unbound: erm, point to a bundle as it will not handle /etc/ssl/certs ?

PR: https://forum.opnsense.org/index.php?topic=44414.0
DeltaFile
+3-1src/opnsense/service/templates/OPNsense/Unbound/core/dot.conf
+3-11 files

OPNSense/core 16aaa67src/opnsense/www/js/widgets Certificates.js

dashboard: Certificate widget, handle non existing endpoints gracefully, add fa-unlock when cert has expired.
DeltaFile
+36-7src/opnsense/www/js/widgets/Certificates.js
+36-71 files

OPNSense/core c75d68csrc/opnsense/www/js/widgets Certificates.js

dashboard: Prepare certificate widget to display os-OPNWAF ACME as well
DeltaFile
+24-9src/opnsense/www/js/widgets/Certificates.js
+24-91 files

OPNSense/core 99fc01c. plist

plist-fix
DeltaFile
+1-0plist
+1-01 files

OPNSense/core 99d20bcsrc/opnsense/www/js/widgets Certificates.js, src/opnsense/www/js/widgets/Metadata Core.xml

dashboard: Add certificate widget that displays CAs and Certs sorted by expiration date
DeltaFile
+177-0src/opnsense/www/js/widgets/Certificates.js
+17-0src/opnsense/www/js/widgets/Metadata/Core.xml
+194-02 files

OPNSense/core 5db3eb7src/opnsense/scripts/firmware health.sh

firmware: use new output helpers in health scripts
DeltaFile
+45-45src/opnsense/scripts/firmware/health.sh
+45-451 files

OPNSense/core 44b19e8src/opnsense/scripts/firmware security.sh

firmware: use new output helpers in security scripts
DeltaFile
+1-1src/opnsense/scripts/firmware/security.sh
+1-11 files

OPNSense/core 2fb2e1bsrc/www diag_defaults.php

System: Configuration: Defaults - report actual lan address being used after factory reset.

(cherry picked from commit a6337fff165390b4d30c27e476b3d099f884ad41)
DeltaFile
+17-2src/www/diag_defaults.php
+17-21 files

OPNSense/core 31ee598src/www system_advanced_sysctl.php

System/Tunables - use actual defaults when reverting.

(cherry picked from commit c7aacf6b1308956667bc3cf4cf4097a91c1d6242)
DeltaFile
+2-2src/www/system_advanced_sysctl.php
+2-21 files

OPNSense/core a79bfc6src/opnsense/mvc/app/views/layout_partials form_input_tr.volt

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)
DeltaFile
+3-3src/opnsense/mvc/app/views/layout_partials/form_input_tr.volt
+3-31 files