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/www/crash_reporter.php
+0-1src/opnsense/mvc/app/controllers/OPNsense/Core/Api/DashboardController.php
+0-1contrib/IXR/IXR_Library.php
+0-1src/etc/inc/plugins.inc.d/opendns.inc
+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

OPNSense/core 553f7dfsrc/etc/inc/plugins.inc.d openvpn.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/
DeltaFile
+3-3src/opnsense/mvc/app/models/OPNsense/Firewall/FieldTypes/GroupField.php
+1-1src/etc/inc/plugins.inc.d/openvpn.inc
+4-42 files

OPNSense/core 578e025src/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).
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 311c3c0src/opnsense/mvc/app/controllers/OPNsense/Firewall/Api FilterBaseController.php

firewall: re-add a simplified applyAction, for 17b84612 (#10440)
DeltaFile
+8-0src/opnsense/mvc/app/controllers/OPNsense/Firewall/Api/FilterBaseController.php
+8-01 files

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

firewall: re-add a simplified applyAction, for 17b84612eb21373d1dc464b1dc75560d477953f5
DeltaFile
+8-0src/opnsense/mvc/app/controllers/OPNsense/Firewall/Api/FilterBaseController.php
+8-01 files

OPNSense/core 7ccf782src/opnsense/www/js/widgets KeaLeases.js

kea: style sweep on widget
DeltaFile
+176-177src/opnsense/www/js/widgets/KeaLeases.js
+176-1771 files

OPNSense/core e5762desrc/opnsense/www/js/widgets/Metadata Core.xml

dashboard: sync endpoints for Kea leases widget
DeltaFile
+2-2src/opnsense/www/js/widgets/Metadata/Core.xml
+2-21 files

OPNSense/core 8f29999. plist, src/opnsense/mvc/app/controllers/OPNsense/Kea/Api LeasesController.php

Kea: Add widget to show Kea DHCPv4 and DHCPv6 leases (#10380)
DeltaFile
+177-0src/opnsense/www/js/widgets/KeaLeases.js
+31-20src/opnsense/mvc/app/controllers/OPNsense/Kea/Api/LeasesController.php
+18-0src/opnsense/www/js/widgets/Metadata/Core.xml
+1-0plist
+1-0src/opnsense/mvc/app/views/OPNsense/Kea/leases4.volt
+1-0src/opnsense/mvc/app/views/OPNsense/Kea/leases6.volt
+229-206 files

OPNSense/core f47d966src/etc rc, src/sbin opnsense-importer

rc: work around zpool-imporit disappearing devices nodes briefly

Observed this on 15.1 with the importer step of the installer not
seeing /dev/ada0p3 and opening the wrong one /dev/ada0p1 instead.
The issue wasn't the scripting but the fact that ada0p3 was briefly
unavailable.  This was an full UFS system, no ZFS pools installed.
DeltaFile
+3-2src/sbin/opnsense-importer
+1-1src/etc/rc
+4-32 files

OPNSense/core be43690src/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
DeltaFile
+25-1src/opnsense/mvc/app/library/OPNsense/Core/SanitizeFilter.php
+7-11src/www/authgui.inc
+32-122 files

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

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

setNodes() rejects a non-array given for a container node, but the leaf branch passed any value straight to setValue(). Posting a JSON array for a scalar/AsList field therefore reached field setters that assume a string, e.g. NetworkField::setValue() does strtolower() on it. producing a fatal "TypeError: strtolower(): array given" and an uncontrolled 500.

Mirror the container guard: throw an Exception so a mis-typed request yields a controlled error with a message for the log instead of a crash.
DeltaFile
+6-4src/opnsense/mvc/app/models/OPNsense/Base/FieldTypes/BaseField.php
+6-41 files

OPNSense/core 7237f89src/root/boot/lua logo-hourglass.lua.in

boot: realign the logo for 15.x
DeltaFile
+1-1src/root/boot/lua/logo-hourglass.lua.in
+1-11 files

OPNSense/core b1c28casrc/sbin opnsense-installer

installer: bigger hammer
DeltaFile
+7-1src/sbin/opnsense-installer
+7-11 files

OPNSense/core a8c62e2src/sbin opnsense-installer

installer: fix "stty size" returning "0 0"

This breaks the keymap selection (and possibly more), but the fix
seems easy.  Some sort of ordering change with shells and login
profiles makes this not work for us on 15.x anymore but it's easy
enough to enforce via the installer launcher.
DeltaFile
+2-0src/sbin/opnsense-installer
+2-01 files

OPNSense/core 17b8461. plist, src/opnsense/mvc/app/controllers/OPNsense/Firewall/Api FilterBaseController.php

Firewall: Rules: Remove safepoint actions (#10411)

* Remove safepoint actions, no callers should be left
* Remove rollback_cancel.php and rollback_timer.php and their configd actions
DeltaFile
+0-69src/opnsense/mvc/app/controllers/OPNsense/Firewall/Api/FilterBaseController.php
+0-54src/opnsense/scripts/filter/rollback_timer.php
+0-40src/opnsense/scripts/filter/rollback_cancel.php
+0-25src/opnsense/mvc/app/models/OPNsense/Firewall/Filter.php
+0-12src/opnsense/service/conf/actions.d/actions_filter.conf
+0-2plist
+0-2026 files

OPNSense/core e15c4e1. plist, src/opnsense/scripts/filter rollback_timer.php rollback_cancel.php

firewall: Remove rollback_cancel.php and rollback_timer.php and their configd actions
DeltaFile
+0-54src/opnsense/scripts/filter/rollback_timer.php
+0-40src/opnsense/scripts/filter/rollback_cancel.php
+0-12src/opnsense/service/conf/actions.d/actions_filter.conf
+0-2plist
+0-1084 files

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

mvc: also do not translate empty labels in grids #10369
DeltaFile
+4-1src/opnsense/mvc/app/controllers/OPNsense/Base/ControllerBase.php
+4-11 files

OPNSense/core e272c8esrc/opnsense/www/js opnsense.js

ui: add generic escaping function
DeltaFile
+15-0src/opnsense/www/js/opnsense.js
+15-01 files

OPNSense/core 305741fcontrib/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.
DeltaFile
+0-3src/etc/inc/XMLRPC_Client.inc
+0-1contrib/IXR/IXR_Library.php
+0-1src/etc/inc/plugins.inc.d/opendns.inc
+0-1src/opnsense/mvc/app/controllers/OPNsense/Core/Api/DashboardController.php
+0-1src/www/crash_reporter.php
+0-75 files

OPNSense/core bc1c93esrc/opnsense/www/js/widgets Services.js

system: tweak text color on previous
DeltaFile
+3-1src/opnsense/www/js/widgets/Services.js
+3-11 files

OPNSense/core df77158src/etc/inc/plugins.inc.d dpinger.inc core.inc, src/opnsense/www/js/widgets Services.js BaseWidget.js

system: change the services widget to a flat tile layout

Make the names of the services shown a bit shorter.  The colors
are debatable but they are matchin what alerts are using in
bootstrap.
DeltaFile
+11-36src/opnsense/www/js/widgets/Services.js
+2-3src/opnsense/www/js/widgets/Metadata/Core.xml
+2-2src/opnsense/www/js/widgets/BaseWidget.js
+2-2src/etc/inc/plugins.inc.d/dpinger.inc
+2-2src/etc/inc/plugins.inc.d/core.inc
+1-1src/etc/inc/plugins.inc.d/radvd.inc
+20-464 files not shown
+24-5010 files