OPNSense/core 4e3cebfsrc/opnsense/mvc/app/library/OPNsense/Core SanitizeFilter.php, src/www authgui.inc

webui/authentication flow - add "local_uri" type in SanitizeFilter() and use it in the authgui.inc flow to ease reuse later.

The new filter is a bit more strict than it used to be, but for good reasons, we likely need the same cleansing in a couple of other areas like https://github.com/opnsense/core/issues/10433

(cherry picked from commit be43690f7abaf6823a93d6e4f292095bc4e5d56c)
DeltaFile
+25-1src/opnsense/mvc/app/library/OPNsense/Core/SanitizeFilter.php
+7-11src/www/authgui.inc
+32-122 files

OPNSense/core e48c9a2src/www interfaces.php

Interfaces/DHCP - Further tighten security for https://github.com/opnsense/core/security/advisories/GHSA-5rx3-w735-74wm

As advanced fields should always require high level access, we should prevent accidental mistakes from administrators allowing non-admins from changing these items.
In the long run, we likely want to drop these options, but that requires at least bringing back some common options which we are able to validate properly.

(cherry picked from commit 28229ed22d4bdcff98cfa3baff2cf43391d69bb7)
DeltaFile
+7-1src/www/interfaces.php
+7-11 files

OPNSense/core b0ace3fcontrib/IXR IXR_Library.php, src/opnsense/scripts/interfaces traffic_stats.php

src: non-canonical cast (double) is deprecated

(cherry picked from commit c00711e5950df4ce7c7d28e97566048e191ef6e1)
(cherry picked from commit 18b7cdb445ffa3b8370833fe18369a378c74dbef)
DeltaFile
+2-2contrib/IXR/IXR_Library.php
+2-2src/opnsense/scripts/interfaces/traffic_stats.php
+4-42 files

OPNSense/core 12f10fcsrc/opnsense/www/js opnsense.js

ui: add generic escaping function

(cherry picked from commit e272c8e19ffbdb181e0375ea4cce34f1444ae21d)
DeltaFile
+15-0src/opnsense/www/js/opnsense.js
+15-01 files

OPNSense/core 06a32bacontrib/parallel-lint/src Manager.php

contrib: another implicit null

(cherry picked from commit 041ab30a685d1bfe4b84f2b09226eca054c39b23)
DeltaFile
+1-1contrib/parallel-lint/src/Manager.php
+1-11 files

OPNSense/core 10a3591Scripts dashboard-acl.sh, src/opnsense/www/js/widgets/Metadata Core.xml

dashboard: skip acl check when requested (#10405)

(cherry picked from commit c1013498c26bfcef665b747dfa51383e93772a7d)
(cherry picked from commit fcacf66e12fa27c041eed85d328201303da13519)
DeltaFile
+20-12Scripts/dashboard-acl.sh
+4-0src/opnsense/www/js/widgets/Metadata/Core.xml
+24-122 files

OPNSense/core cb72a1fsrc/opnsense/mvc/app/controllers/OPNsense/Diagnostics/Api LogController.php, src/opnsense/www/js opnsense_widget_manager.js

widgets: enhance Live Log widget (#10086)

Uses client-side DOM for determining log endpoints, doesn't require any default target access, allows options for severity and search filter and variable log lines to show, which are displayed in summary in widget, and uses true log tailing plus backfill

---------

Co-authored-by: Stephan de Wit <stephan.de.wit at deciso.com>
(cherry picked from commit 956a256dbae339a893bc0001486122ce2a61565f)
DeltaFile
+213-30src/opnsense/www/js/widgets/LiveLog.js
+20-5src/opnsense/www/js/widgets/Metadata/Core.xml
+12-0src/opnsense/www/js/opnsense_widget_manager.js
+2-1src/opnsense/mvc/app/controllers/OPNsense/Diagnostics/Api/LogController.php
+247-364 files

OPNSense/core 61bed40src/opnsense/mvc/app/views/OPNsense/Core firmware.volt

firmware: fix small glitch that re-prompts for showing community plugins

It's already shown so no need to re-register.

(cherry picked from commit 9e1117e5242e9f0090f65ee0c99f25af69409bb4)
DeltaFile
+1-1src/opnsense/mvc/app/views/OPNsense/Core/firmware.volt
+1-11 files

OPNSense/core 9e1117esrc/opnsense/mvc/app/views/OPNsense/Core firmware.volt

firmware: fix small glitch that re-prompts for showing community plugins

It's already shown so no need to re-register.
DeltaFile
+1-1src/opnsense/mvc/app/views/OPNsense/Core/firmware.volt
+1-11 files

OPNSense/core d429164src/opnsense/scripts/captiveportal allow.py

captive portal: pass in ip_address as a set for accounting
DeltaFile
+1-1src/opnsense/scripts/captiveportal/allow.py
+1-11 files

OPNSense/core a309101src/opnsense/mvc/app/controllers/OPNsense/Firewall/Api AliasController.php FilterBaseController.php

firewall: skip alias on rules GUI reload

Also align the alias load path in the controller with
how !skip_alias serializes the sequence after rules
reload inside filter_configure_sync().
DeltaFile
+1-1src/opnsense/mvc/app/controllers/OPNsense/Firewall/Api/AliasController.php
+1-1src/opnsense/mvc/app/controllers/OPNsense/Firewall/Api/FilterBaseController.php
+2-22 files

OPNSense/core 7914d18src/opnsense/mvc/app/models/OPNsense/Firewall DNat.php

Firewall: NAT: Destination NAT: Add validations for No RDR, prevent target and local-port being set (#10447)
DeltaFile
+14-0src/opnsense/mvc/app/models/OPNsense/Firewall/DNat.php
+14-01 files

OPNSense/core a1d1669src/opnsense/mvc/app/controllers/OPNsense/Firewall/Api FilterController.php

Firewall: Rules: Improve interface filter logic to include floating rules with multiple interfaces when they overlap with at least one interface in the interface filter request (#10449)

* Firewall: Rules: Improve interface filter logic to include floating rules with multiple interfaces when they overlap with at least one interface in the interface filter request.

* Improve inverted interface condition, make it symmetric to positive interface match in final else condition
DeltaFile
+21-10src/opnsense/mvc/app/controllers/OPNsense/Firewall/Api/FilterController.php
+21-101 files

OPNSense/core bb526d0src/opnsense/mvc/app/controllers/OPNsense/Firewall/Api FilterController.php

Improve inverted interface condition, make it symmetric to positive interface match in final else condition
DeltaFile
+1-1src/opnsense/mvc/app/controllers/OPNsense/Firewall/Api/FilterController.php
+1-11 files

OPNSense/core deaf436src/opnsense/mvc/app/controllers/OPNsense/Firewall/Api FilterController.php

Firewall: Rules: Improve interface filter logic to include floating rules with multiple interfaces when they overlap with at least one interface in the interface filter request.
DeltaFile
+20-9src/opnsense/mvc/app/controllers/OPNsense/Firewall/Api/FilterController.php
+20-91 files

OPNSense/core 08f0edbsrc/opnsense/mvc/app/models/OPNsense/Firewall DNat.php

Firewall: NAT: Destination NAT: Add validations for No RDR, prevent target and local-port being set
DeltaFile
+14-0src/opnsense/mvc/app/models/OPNsense/Firewall/DNat.php
+14-01 files

OPNSense/core 4339005src/opnsense/mvc/app/controllers/OPNsense/Firewall/Api AliasController.php FilterBaseController.php

firewall: skip alias on rules GUI reload

Also align the alias load path in the controller with
how !skip_alias serializes the sequence after rules
reload inside filter_configure_sync().
DeltaFile
+1-1src/opnsense/mvc/app/controllers/OPNsense/Firewall/Api/AliasController.php
+1-1src/opnsense/mvc/app/controllers/OPNsense/Firewall/Api/FilterBaseController.php
+2-22 files

OPNSense/core 3ca0e7bsrc/opnsense/www/js opnsense_bootgrid.js

bootgrid: minor optimizations
DeltaFile
+23-9src/opnsense/www/js/opnsense_bootgrid.js
+23-91 files

OPNSense/core 698b7c1src/opnsense/mvc/app/views/OPNsense/Firewall filter_rule.volt

firewall: rules: enable virtualDOM
DeltaFile
+1-0src/opnsense/mvc/app/views/OPNsense/Firewall/filter_rule.volt
+1-01 files

OPNSense/core 5c04019src/opnsense/mvc/app/library/OPNsense/Core FileObject.php

mvc: FileObject: fix exception bug (#10442)
DeltaFile
+1-1src/opnsense/mvc/app/library/OPNsense/Core/FileObject.php
+1-11 files

OPNSense/core f844a0dsrc/opnsense/mvc/tests/app/library/OPNsense/Interface IdassocTest.php

tests: Method ReflectionMethod::setAccessible() is deprecated since 8.5

(cherry picked from commit b5c542c1c23efeb90b77edb843debba42f4981a9)
DeltaFile
+0-1src/opnsense/mvc/tests/app/library/OPNsense/Interface/IdassocTest.php
+0-11 files

OPNSense/core 66ecddcsrc/opnsense/service/templates/OPNsense/WebGui php.ini

system: webgui templating more pretty

(cherry picked from commit 8ec23b3321a635ac7d5bfd094601b1c1670dac62)
DeltaFile
+1-2src/opnsense/service/templates/OPNsense/WebGui/php.ini
+1-21 files

OPNSense/core 6d18000contrib/IXR IXR_Library.php, src/etc/inc XMLRPC_Client.inc

system: curl_close() is deprecated

This has been a no-op since 8.0.0, but deprecated since 8.5.0.

(cherry picked from commit 305741f06eeba35234a86a219194c24b3e3d8f4d)
DeltaFile
+0-3src/etc/inc/XMLRPC_Client.inc
+0-1src/etc/inc/plugins.inc.d/opendns.inc
+0-1contrib/IXR/IXR_Library.php
+0-1src/opnsense/mvc/app/controllers/OPNsense/Core/Api/DashboardController.php
+0-1src/www/crash_reporter.php
+0-75 files

OPNSense/core 5ed48c2src/opnsense/mvc/app/controllers/OPNsense/Firewall/Api AliasController.php

Firewall: fix 500 (TypeError) on alias getItem with unknown UUID (#10417)

(cherry picked from commit b4fa4cd2e2f6743eaf49e0523b2303fd31c3ee59)
DeltaFile
+1-1src/opnsense/mvc/app/controllers/OPNsense/Firewall/Api/AliasController.php
+1-11 files

OPNSense/core d92ad28src/opnsense/mvc/app/controllers/OPNsense/Base ApiMutableModelControllerBase.php

mvc: whitespace
DeltaFile
+1-1src/opnsense/mvc/app/controllers/OPNsense/Base/ApiMutableModelControllerBase.php
+1-11 files

OPNSense/core 08447desrc/opnsense/mvc/app/controllers/OPNsense/Firewall/forms dialogSNatRule.xml, src/opnsense/mvc/app/models/OPNsense/Firewall Filter.php Filter.xml

Firewall: NAT: Source NAT: Allow empty target which means interface address (#10441)

* Firewall: NAT: Source NAT: Empty target means interface address, allow it in the model and add hints, fix legacy outbound rules exporter as well

* Firewall: NAT: Source NAT: Target cannot be any, pf refuses to load that
DeltaFile
+2-5src/opnsense/scripts/filter/list_legacy_outbound_nat.php
+6-0src/opnsense/mvc/app/models/OPNsense/Firewall/Filter.php
+5-0src/opnsense/mvc/app/views/OPNsense/Firewall/nat_rule.volt
+1-4src/opnsense/mvc/app/models/OPNsense/Firewall/Filter.xml
+1-1src/opnsense/mvc/app/controllers/OPNsense/Firewall/forms/dialogSNatRule.xml
+15-105 files

OPNSense/core aca61bdsrc/opnsense/mvc/app/controllers/OPNsense/Base ApiControllerBase.php

src: sweep
DeltaFile
+1-1src/opnsense/mvc/app/controllers/OPNsense/Base/ApiControllerBase.php
+1-11 files

OPNSense/core 6a19c92src/etc/inc/plugins.inc.d ipsec.inc

ipsec: change name as well

It's not a group but still in GroupField.  ;)
DeltaFile
+1-1src/etc/inc/plugins.inc.d/ipsec.inc
+1-11 files

OPNSense/core d3fb0bbsrc/opnsense/mvc/app/models/OPNsense/Firewall Filter.php

Firewall: NAT: Source NAT: Target cannot be any, pf refuses to load that
DeltaFile
+6-0src/opnsense/mvc/app/models/OPNsense/Firewall/Filter.php
+6-01 files

OPNSense/core 3c56a63src/opnsense/mvc/app/controllers/OPNsense/Firewall/forms dialogSNatRule.xml, src/opnsense/mvc/app/models/OPNsense/Firewall Filter.xml

Firewall: NAT: Source NAT: Empty target means interface address, allow it in the model and add hints, fix legacy outbound rules exporter as well
DeltaFile
+2-5src/opnsense/scripts/filter/list_legacy_outbound_nat.php
+1-4src/opnsense/mvc/app/models/OPNsense/Firewall/Filter.xml
+5-0src/opnsense/mvc/app/views/OPNsense/Firewall/nat_rule.volt
+1-1src/opnsense/mvc/app/controllers/OPNsense/Firewall/forms/dialogSNatRule.xml
+9-104 files