OPNSense/core 7e63195src/opnsense/mvc/app/controllers/OPNsense/Firewall/Api FilterBaseController.php AliasController.php, src/opnsense/scripts/filter update_tables.py

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().

(cherry picked from commit a3091013d724f19e5fc2767a12de811da606e935)
(cherry picked from commit 5c1d8575a7d87dd717963506b510d144e6fcd63a)
DeltaFile
+2-2src/opnsense/mvc/app/controllers/OPNsense/Firewall/Api/FilterBaseController.php
+1-1src/opnsense/mvc/app/controllers/OPNsense/Firewall/Api/AliasController.php
+1-1src/opnsense/scripts/filter/update_tables.py
+4-43 files

OPNSense/core 5c1d857src/opnsense/scripts/filter update_tables.py

firewall: change update failure to error
DeltaFile
+1-1src/opnsense/scripts/filter/update_tables.py
+1-11 files

OPNSense/core e04d5d3src/opnsense/mvc/app/views/OPNsense/Firewall nat_rule.volt

firewall: nat: enable virtualDOM here as well

(cherry picked from commit d61ff02165535f90e7444940c7f1844e43cdf899)
DeltaFile
+1-0src/opnsense/mvc/app/views/OPNsense/Firewall/nat_rule.volt
+1-01 files

OPNSense/core d61ff02src/opnsense/mvc/app/views/OPNsense/Firewall nat_rule.volt

firewall: nat: enable virtualDOM here as well
DeltaFile
+1-0src/opnsense/mvc/app/views/OPNsense/Firewall/nat_rule.volt
+1-01 files

OPNSense/core 3edf3ccsrc/opnsense/mvc/app/controllers/OPNsense/Diagnostics/Api InterfaceController.php

mvc: use camelCase for carp_status action related to #10428

(cherry picked from commit 68d9da1a0be85a9e673ee10c46052749b61753c6)
DeltaFile
+2-2src/opnsense/mvc/app/controllers/OPNsense/Diagnostics/Api/InterfaceController.php
+2-21 files

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

src: sweep

(cherry picked from commit aca61bd87e6f18599957cacdb9800f44603466dc)
DeltaFile
+1-1src/opnsense/mvc/app/controllers/OPNsense/Base/ApiControllerBase.php
+1-11 files

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

mvc: whitespace

(cherry picked from commit d92ad28bc103be00a14bcdaa14f169ceef6d3c83)
DeltaFile
+1-1src/opnsense/mvc/app/controllers/OPNsense/Base/ApiMutableModelControllerBase.php
+1-11 files

OPNSense/core 1287133src/opnsense/www/js opnsense_bootgrid.js

bootgrid: minor optimizations

(cherry picked from commit 3ca0e7b5708dbb5e8dcab5f92664e7ef36db1d72)
DeltaFile
+23-9src/opnsense/www/js/opnsense_bootgrid.js
+23-91 files

OPNSense/core 6cae57asrc/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)

(cherry picked from commit 7914d185d4fbc0faa06572ba205391654df7b589)
DeltaFile
+14-0src/opnsense/mvc/app/models/OPNsense/Firewall/DNat.php
+14-01 files

OPNSense/core 525bc81src/opnsense/mvc/app/controllers/OPNsense/Firewall/Api FilterBaseController.php

firewall: move applyAction() up for smaller diff
DeltaFile
+9-8src/opnsense/mvc/app/controllers/OPNsense/Firewall/Api/FilterBaseController.php
+9-81 files

OPNSense/core 53dc2e9src/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

(cherry picked from commit a1d16690c2c34c0a131e70e0ffeee0771f672b0e)
DeltaFile
+21-10src/opnsense/mvc/app/controllers/OPNsense/Firewall/Api/FilterController.php
+21-101 files

OPNSense/core ed48535src/opnsense/mvc/app/controllers/OPNsense/Firewall/Api MigrationController.php, src/opnsense/mvc/app/views/OPNsense/Firewall firewall_migration.volt

Firewall: Migration Assistant: Show rule counts that can be exported, hide tab if no rules exist (#10395)

(cherry picked from commit f4c040a0c134d73264ebfe932fe6a80e6f3768cf)
DeltaFile
+31-6src/opnsense/mvc/app/views/OPNsense/Firewall/firewall_migration.volt
+28-4src/opnsense/mvc/app/controllers/OPNsense/Firewall/Api/MigrationController.php
+59-102 files

OPNSense/core e87b505src/opnsense/mvc/app/controllers/OPNsense/Base ApiControllerBase.php ApiMutableModelControllerBase.php, src/opnsense/mvc/app/controllers/OPNsense/Monit/Api SettingsController.php

mvc: give throwReadOnly() a sibling named throwNotFullAdmin() which validates if a user has full access rights and can be treated as "provides safe input".

Although there aren't a lot of cases where user input can't be validated strictly enough, there are still one or two edge cases which offer some sort of "advanced" input which we currently wouldn't accept and are thus hard to change for historic reasons. The most prominent one is Monit, which allows local commands being executed.

throwNotFullAdmin simply raises an exception and bails before persisting changes to the configuration, which can be set on a per action or controller (internalSaveRequiresAdmin).

(cherry picked from commit 578e025111161ffd03fd3fd0ccdac203be546505)
DeltaFile
+20-1src/opnsense/mvc/app/controllers/OPNsense/Base/ApiControllerBase.php
+8-0src/opnsense/mvc/app/controllers/OPNsense/Base/ApiMutableModelControllerBase.php
+1-0src/opnsense/mvc/app/controllers/OPNsense/Monit/Api/SettingsController.php
+29-13 files

OPNSense/core 9ec8c01src/opnsense/mvc/app/controllers/OPNsense/Base ControllerBase.php

mvc: also do not translate empty labels in grids #10369

(cherry picked from commit 9d65dd6a8c2b14c19c914b90d3c8826e3d9bc962)
DeltaFile
+4-1src/opnsense/mvc/app/controllers/OPNsense/Base/ControllerBase.php
+4-11 files

OPNSense/core 9862422src/opnsense/mvc/app/library/OPNsense/Core File.php FileObject.php

src: implicitly marking parameter $chown as nullable is deprecated

(cherry picked from commit 8441b9ea76352d6d75203d61feee03110ef5bdea)
DeltaFile
+2-2src/opnsense/mvc/app/library/OPNsense/Core/File.php
+1-1src/opnsense/mvc/app/library/OPNsense/Core/FileObject.php
+3-32 files

OPNSense/core 635f2e9src/opnsense/mvc/app/library/OPNsense/Core FileObject.php

mvc: FileObject: fix exception bug (#10442)

(cherry picked from commit 5c040197dfc4e4baa507de5c8bf714fe30ae68a6)
DeltaFile
+1-1src/opnsense/mvc/app/library/OPNsense/Core/FileObject.php
+1-11 files

OPNSense/core b601c16src/opnsense/mvc/app/models/OPNsense/Base/FieldTypes BaseField.php

mvc: guard BaseField::setNodes() against a list given for a scalar leaf (#10434)

(cherry picked from commit cde5f912b376be2962a9350613e225d579ef734e)
(cherry picked from commit 48d01e753973457942dbca408e04531b9917b5d3)
(cherry picked from commit a0a8e739570145b96b1adf73f8235ec479417f75)
DeltaFile
+6-4src/opnsense/mvc/app/models/OPNsense/Base/FieldTypes/BaseField.php
+6-41 files

OPNSense/core a0a8e73src/opnsense/mvc/app/models/OPNsense/Base/FieldTypes BaseField.php

mvc: BaseField: more of the same
DeltaFile
+1-1src/opnsense/mvc/app/models/OPNsense/Base/FieldTypes/BaseField.php
+1-11 files

OPNSense/core 48d01e7src/opnsense/mvc/app/models/OPNsense/Base/FieldTypes BaseField.php

mvc: BaseField: unify exception messages for previous
DeltaFile
+2-2src/opnsense/mvc/app/models/OPNsense/Base/FieldTypes/BaseField.php
+2-21 files

OPNSense/core b539bdcsrc/opnsense/mvc/app/models/OPNsense/Base/FieldTypes DescriptionField.php

mvc: DescriptionField: disable special and newline characters

This is only cosmetic and since the description is only used as a
label and not a note block this is fine (and could be overwridden
by the model if needed).

(cherry picked from commit d3c654f848284bcf8b510ea22df3e6ac90063387)
DeltaFile
+10-0src/opnsense/mvc/app/models/OPNsense/Base/FieldTypes/DescriptionField.php
+10-01 files

OPNSense/core b34ad01src/etc/inc/plugins.inc.d openvpn.inc ipsec.inc, src/opnsense/mvc/app/models/OPNsense/Firewall/FieldTypes GroupField.php

firewall: unify group names

The defaults in GroupField are still a bit weird as we are showing them
even though their mandatory path is from *_interfaces() plugin registration.

If we need the value 10 we should make it the implicit default and also
add the default to the group interface registration (or not at all).

GroupField could read them correctly from config.xml...

PR: https://www.reddit.com/r/opnsense/comments/1ucvh2y/is_there_a_way_to_change_the_openvpn_group/

(cherry picked from commit 553f7dfe68e4b9d679f9c01691738f64cdcf458e)
(cherry picked from commit 6a19c92af85468a910e4ce685bf5c9d52021ee4e)
DeltaFile
+3-3src/opnsense/mvc/app/models/OPNsense/Firewall/FieldTypes/GroupField.php
+1-1src/etc/inc/plugins.inc.d/openvpn.inc
+1-1src/etc/inc/plugins.inc.d/ipsec.inc
+5-53 files

OPNSense/core d2c071csrc/opnsense/mvc/app/controllers/OPNsense/Firewall/forms dialogNptRule.xml, src/opnsense/mvc/app/models/OPNsense/Firewall Filter.php

firewall: allow WAN as "associated interface" for NPTv6 #10413

(cherry picked from commit aa27c069589dbbc9f2f26e7f6150069949f63bc2)
DeltaFile
+13-5src/opnsense/mvc/app/models/OPNsense/Firewall/Filter.php
+1-1src/opnsense/mvc/app/controllers/OPNsense/Firewall/forms/dialogNptRule.xml
+14-62 files

OPNSense/core ccb9f96src/opnsense/mvc/app/models/OPNsense/OpenVPN OpenVPN.xml

openvpn: clean up these option values

Push flags not always mention "push" in label but their
context is clear and keys do not change so simplify.

(cherry picked from commit a9dee3dcff89be9ecd2985ebe590e79ad0bdf01f)
DeltaFile
+32-32src/opnsense/mvc/app/models/OPNsense/OpenVPN/OpenVPN.xml
+32-321 files

OPNSense/core 1314d06src/opnsense/mvc/app/models/OPNsense/Kea KeaDhcpv6.xml

kea: v6 linter pass

(cherry picked from commit 1f08ea963ecab1380d76bcb9d79b4ed53cdd525e)
DeltaFile
+33-33src/opnsense/mvc/app/models/OPNsense/Kea/KeaDhcpv6.xml
+33-331 files

OPNSense/core 1b089ffsrc/opnsense/mvc/app/models/OPNsense/Kea KeaDhcpv4.xml

kea: v4 option values changes for linter

(cherry picked from commit 50fa3fd8e344be3a83706a44d22b70f4fde87586)
DeltaFile
+27-27src/opnsense/mvc/app/models/OPNsense/Kea/KeaDhcpv4.xml
+27-271 files

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

firewall: rules: enable virtualDOM

(cherry picked from commit 698b7c15dc5253061de73186834f424da123b713)
DeltaFile
+1-0src/opnsense/mvc/app/views/OPNsense/Firewall/filter_rule.volt
+1-01 files

OPNSense/core 22ac861src/opnsense/mvc/app/models/OPNsense/Interfaces/ACL ACL.xml

system: fix ACL pattern for carp_status action (#10428)

(cherry picked from commit c556979d99d0029292e16e331529f87fc0457355)
DeltaFile
+1-1src/opnsense/mvc/app/models/OPNsense/Interfaces/ACL/ACL.xml
+1-11 files

OPNSense/core 6f3b49fsrc/etc/inc/plugins.inc.d pf.inc

Firewall: NAT: Source NAT: skip rendering rules when mode is not advanced (manual) or hybrid (#10472)

(cherry picked from commit aa2a54a5a8a9988b7a63e6ccef18ab01a4777a83)
DeltaFile
+7-2src/etc/inc/plugins.inc.d/pf.inc
+7-21 files

OPNSense/core aa2a54asrc/etc/inc/plugins.inc.d pf.inc

Firewall: NAT: Source NAT: skip rendering rules when mode is not advanced (manual) or hybrid (#10472)
DeltaFile
+7-2src/etc/inc/plugins.inc.d/pf.inc
+7-21 files

OPNSense/core 41c83c0src/opnsense/mvc/app/controllers/OPNsense/Unbound/Api OverviewController.php, src/opnsense/mvc/app/views/OPNsense/Unbound overview.volt

unbound: change layout to better fit generic styling

Also fix a PHP 8.5 issue while here.
DeltaFile
+9-6src/opnsense/mvc/app/views/OPNsense/Unbound/overview.volt
+2-6src/opnsense/www/css/dns-overview.css
+1-1src/opnsense/mvc/app/controllers/OPNsense/Unbound/Api/OverviewController.php
+12-133 files