OPNSense/core c901230src/opnsense/mvc/app/controllers/OPNsense/Diagnostics/Api LogController.php, src/opnsense/mvc/app/library/OPNsense/Core SanitizeFilter.php

src: style sweep
DeltaFile
+2-3src/opnsense/mvc/app/library/OPNsense/Core/SanitizeFilter.php
+1-1src/opnsense/mvc/app/models/OPNsense/Base/Validators/Regex.php
+1-1src/opnsense/mvc/app/models/OPNsense/Base/Validators/Url.php
+0-1src/opnsense/mvc/app/controllers/OPNsense/Diagnostics/Api/LogController.php
+0-1src/opnsense/mvc/app/models/OPNsense/Base/FieldTypes/UniqueIdField.php
+0-1src/opnsense/mvc/app/models/OPNsense/Base/FieldTypes/UpdateOnlyTextField.php
+4-83 files not shown
+4-119 files

OPNSense/core eea9c5csrc/opnsense/mvc/app/library/OPNsense/Backup GDrive.php

system: adjust log levels in google drive backup; closes #7427
DeltaFile
+2-2src/opnsense/mvc/app/library/OPNsense/Backup/GDrive.php
+2-21 files

OPNSense/core f7999a7src/opnsense/mvc/app/controllers/OPNsense/Core/Api FirmwareController.php DashboardController.php, src/opnsense/mvc/app/controllers/OPNsense/Diagnostics/Api FirewallController.php LogController.php

mvc - replace  Phalcon\Filter classes for simple SanitizeFilter wrapper implementing the filters we actually use.

for https://github.com/opnsense/core/issues/6389
DeltaFile
+101-0src/opnsense/mvc/app/library/OPNsense/Core/SanitizeFilter.php
+9-52src/opnsense/mvc/app/controllers/OPNsense/Core/Api/FirmwareController.php
+5-24src/opnsense/mvc/app/controllers/OPNsense/Diagnostics/Api/FirewallController.php
+3-12src/opnsense/mvc/app/controllers/OPNsense/IDS/Api/ServiceController.php
+3-6src/opnsense/mvc/app/controllers/OPNsense/Diagnostics/Api/LogController.php
+7-0src/opnsense/mvc/app/controllers/OPNsense/Core/Api/DashboardController.php
+128-944 files not shown
+136-10510 files

OPNSense/core 0dc6089src/opnsense/mvc/app/controllers/OPNsense/Base ApiMutableModelControllerBase.php, src/opnsense/mvc/app/controllers/OPNsense/IDS/Api SettingsController.php

mvc - replace \Phalcon\Filter\Validation\Exception  with \OPNsense\Base\ValidationException (both simple empty Exception classes).

for https://github.com/opnsense/core/issues/6389
DeltaFile
+35-0src/opnsense/mvc/app/models/OPNsense/Base/ValidationException.php
+17-17src/opnsense/mvc/app/controllers/OPNsense/IDS/Api/SettingsController.php
+11-11src/opnsense/mvc/app/controllers/OPNsense/Monit/Api/SettingsController.php
+11-11src/opnsense/mvc/app/controllers/OPNsense/TrafficShaper/Api/SettingsController.php
+7-7src/opnsense/mvc/app/controllers/OPNsense/Base/ApiMutableModelControllerBase.php
+7-7src/opnsense/mvc/tests/app/models/OPNsense/Base/FieldTypes/IPPortFieldTest.php
+88-5325 files not shown
+141-10531 files

OPNSense/core 7d212f3src/opnsense/mvc/app/models/OPNsense/IPsec Swanctl.xml

VPN: IPsec: Connections - allow the equal sign for identity parsing as specified in https://docs.strongswan.org/docs/5.9/config/identityParsing.html, closes https://github.com/opnsense/core/issues/7424
DeltaFile
+4-4src/opnsense/mvc/app/models/OPNsense/IPsec/Swanctl.xml
+4-41 files

OPNSense/core 6dbdb2f. plist, src/opnsense/mvc/app/models/OPNsense/Base/FieldTypes UrlField.php

mvc - replace Phalcon\Filter\Validation\Validator\Url with new native OPNsense\Base\Validators\Url validator

for https://github.com/opnsense/core/issues/6389
DeltaFile
+59-0src/opnsense/mvc/app/models/OPNsense/Base/Validators/Url.php
+1-1src/opnsense/mvc/app/models/OPNsense/Base/FieldTypes/UrlField.php
+1-0plist
+61-13 files

OPNSense/core 9ab0edb. plist, src/opnsense/mvc/app/models/OPNsense/Base/FieldTypes BooleanField.php TextField.php

mvc - replace Phalcon\Filter\Validation\Validator\Regex  with new native OPNsense\Base\Validators\Regex validator

for https://github.com/opnsense/core/issues/6389
DeltaFile
+64-0src/opnsense/mvc/app/models/OPNsense/Base/Validators/Regex.php
+3-3src/opnsense/mvc/tests/app/models/OPNsense/Base/FieldTypes/TextFieldTest.php
+1-1src/opnsense/mvc/app/models/OPNsense/Base/FieldTypes/BooleanField.php
+1-1src/opnsense/mvc/app/models/OPNsense/Base/FieldTypes/TextField.php
+1-0plist
+70-55 files

OPNSense/core b10c17f. plist, src/opnsense/mvc/app/models/OPNsense/Base/FieldTypes EmailField.php

mvc - replace Phalcon\Filter\Validation\Validator\Email with new native OPNsense\Base\Validators\Email validator.

for https://github.com/opnsense/core/issues/6389
DeltaFile
+58-0src/opnsense/mvc/app/models/OPNsense/Base/Validators/Email.php
+1-1src/opnsense/mvc/app/models/OPNsense/Base/FieldTypes/EmailField.php
+1-0plist
+60-13 files

OPNSense/core c34b11d. plist, src/opnsense/mvc/app/models/OPNsense/Base/FieldTypes NumericField.php

mvc - replace Phalcon\Filter\Validation\Validator\Numericality with new native OPNsense\Base\Validators\Numericality validator.

for https://github.com/opnsense/core/issues/6389
DeltaFile
+59-0src/opnsense/mvc/app/models/OPNsense/Base/Validators/Numericality.php
+1-1src/opnsense/mvc/app/models/OPNsense/Base/FieldTypes/NumericField.php
+1-0plist
+61-13 files

OPNSense/core 5dd5426. plist, src/opnsense/mvc/app/models/OPNsense/Base/FieldTypes BaseField.php TextField.php

mvc - replace Phalcon\Filter\Validation\Validator\PresenceOf with new native OPNsense\Base\Validators\PresenceOf validator.

for https://github.com/opnsense/core/issues/6389
DeltaFile
+58-0src/opnsense/mvc/app/models/OPNsense/Base/Validators/PresenceOf.php
+1-1src/opnsense/mvc/app/models/OPNsense/Base/FieldTypes/BaseField.php
+1-1src/opnsense/mvc/app/models/OPNsense/Base/FieldTypes/TextField.php
+0-2src/opnsense/mvc/app/models/OPNsense/Base/FieldTypes/UpdateOnlyTextField.php
+1-1src/opnsense/mvc/tests/app/models/OPNsense/Base/FieldTypes/ModelRelationFieldTest.php
+1-0plist
+62-56 files

OPNSense/core 28c9b45src/opnsense/mvc/app/models/OPNsense/Base/FieldTypes ModelRelationField.php BaseListField.php, src/opnsense/mvc/app/models/OPNsense/Base/Validators InclusionIn.php

mvc - replace Phalcon\Filter\Validation\Validator\InclusionIn with new native OPNsense\Base\Validators\InclusionIn validator.

for https://github.com/opnsense/core/issues/6389
DeltaFile
+59-0src/opnsense/mvc/app/models/OPNsense/Base/Validators/InclusionIn.php
+3-3src/opnsense/mvc/tests/app/models/OPNsense/Base/FieldTypes/ModelRelationFieldTest.php
+0-3src/opnsense/mvc/app/models/OPNsense/Base/FieldTypes/ModelRelationField.php
+1-1src/opnsense/mvc/app/models/OPNsense/Base/FieldTypes/BaseListField.php
+0-2src/opnsense/mvc/app/models/OPNsense/Base/FieldTypes/CountryField.php
+0-1src/opnsense/mvc/app/models/OPNsense/Base/FieldTypes/UniqueIdField.php
+63-102 files not shown
+64-118 files

OPNSense/core 68b0397src/opnsense/mvc/app/models/OPNsense/Base/Menu MenuSystem.php

menusystem - replace phalcon config usage with AppConfig.

for https://github.com/opnsense/core/issues/6389
DeltaFile
+4-6src/opnsense/mvc/app/models/OPNsense/Base/Menu/MenuSystem.php
+4-61 files

OPNSense/core 37696d6src/opnsense/mvc/app/controllers/OPNsense/Wireguard/Api ClientController.php, src/opnsense/mvc/app/views/OPNsense/Wireguard general.volt

VPN: WireGuard: Peer generator - add MTU when set on the instance, closes https://github.com/opnsense/core/issues/7422
DeltaFile
+4-0src/opnsense/mvc/app/views/OPNsense/Wireguard/general.volt
+1-0src/opnsense/mvc/app/controllers/OPNsense/Wireguard/Api/ClientController.php
+5-02 files

OPNSense/core db89247src/opnsense/scripts/filter read_log.py, src/opnsense/service/conf/actions.d actions_filter.conf

firewall: initial proposal for filterlog streaming

while this certainly doesn't account for all use cases, the streaming action is isolated enough to build from. For the use case of the new filter live log widget, starting from scratch on each action should be enough for now.
DeltaFile
+117-84src/opnsense/scripts/filter/read_log.py
+6-0src/opnsense/service/conf/actions.d/actions_filter.conf
+123-842 files

OPNSense/core 51148easrc/opnsense/mvc/app/config AppConfig.php, src/opnsense/mvc/app/controllers/OPNsense/Core/Api DashboardController.php

src: style sweep
DeltaFile
+6-4src/opnsense/mvc/app/models/OPNsense/Firewall/FieldTypes/AliasNameField.php
+2-2src/opnsense/mvc/app/library/OPNsense/Core/Csrf.php
+2-2src/opnsense/mvc/app/config/AppConfig.php
+1-1src/opnsense/mvc/tests/app/models/OPNsense/Base/FieldTypes/AuthGroupFieldTest.php
+1-1src/opnsense/mvc/app/controllers/OPNsense/Core/Api/DashboardController.php
+1-1src/opnsense/mvc/tests/app/models/OPNsense/Base/FieldTypes/CertificateFieldTest.php
+13-118 files not shown
+20-1814 files

OPNSense/core f2e60c1src/etc rc.newwanipv6

interfaces: evidence suggests + 2 is better than + 1 #7400

The + 1 was completely arbitrary to begin with (derived from
FreeBSD scripting), but if part of the system needs longer to
cope with tentative state then this would be an easy way to
make it more reliable.

If + 3 makes sense for the next person is something I want to
doubt, however.

Special thanks go to @Wireheadbe for pursuing and testing this.
DeltaFile
+1-1src/etc/rc.newwanipv6
+1-11 files

OPNSense/core cd0e45esrc/opnsense/mvc/app/models/OPNsense/Firewall/FieldTypes AliasNameField.php AliasContentField.php

Firewall: Aliases - remove Phalcon component usage in model

for https://github.com/opnsense/core/issues/6389
DeltaFile
+17-21src/opnsense/mvc/app/models/OPNsense/Firewall/FieldTypes/AliasNameField.php
+0-2src/opnsense/mvc/app/models/OPNsense/Firewall/FieldTypes/AliasContentField.php
+17-232 files

OPNSense/core 100aac2src/opnsense/mvc/app/config AppConfig.php, src/opnsense/mvc/tests/app/models/OPNsense/Base/FieldTypes AuthGroupFieldTest.php AuthenticationServerFieldTest.php

mvc-unittests : remove Phalcon\Di\FactoryDefault usage and support partial app config updates in AppConfig to support different config files in the unit tests.

for https://github.com/opnsense/core/issues/6389
DeltaFile
+21-0src/opnsense/mvc/app/config/AppConfig.php
+2-2src/opnsense/mvc/tests/app/models/OPNsense/Base/FieldTypes/AuthGroupFieldTest.php
+2-2src/opnsense/mvc/tests/app/models/OPNsense/Base/FieldTypes/AuthenticationServerFieldTest.php
+2-2src/opnsense/mvc/tests/app/models/OPNsense/Base/FieldTypes/CertificateFieldTest.php
+2-2src/opnsense/mvc/tests/app/models/OPNsense/Base/FieldTypes/InterfaceFieldTest.php
+2-2src/opnsense/mvc/tests/app/models/OPNsense/Base/FieldTypes/ModelRelationFieldTest.php
+31-102 files not shown
+35-148 files

OPNSense/core cbc01cb. plist, src/opnsense/mvc/app/config AppConfig.php config.php

mvc: replace Phalcon\Config\Config usage for new and simplified OPNsense\Core\AppConfig class.

for https://github.com/opnsense/core/issues/6389
DeltaFile
+76-0src/opnsense/mvc/app/config/AppConfig.php
+2-1src/opnsense/mvc/app/config/config.php
+2-1src/opnsense/mvc/tests/app/config/config.php
+1-0plist
+81-24 files

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

mvc: configdStream: minor regression in https://github.com/opnsense/core/commit/177aa89b1323d99e410bde04940aa02315e149cb

If zlib compression was never enabled to begin with, the ob_end_clean()
will close the current Phalcon output buffer, which means the
ob_end_flush() will cause a fatal error. To prevent this we can check
if there is an output buffer still active.
DeltaFile
+3-1src/opnsense/mvc/app/controllers/OPNsense/Base/ApiControllerBase.php
+3-11 files

OPNSense/core 5edad25src/opnsense/www/js/widgets Traffic.js BaseWidget.js

dashboard: move common formatBytes operation to base class
DeltaFile
+2-16src/opnsense/www/js/widgets/Traffic.js
+14-0src/opnsense/www/js/widgets/BaseWidget.js
+16-162 files

OPNSense/core ef9ef6a. plist, src/opnsense/mvc/app/controllers/OPNsense/Core/Api SystemController.php DashboardController.php

dashboard: Disk widget
DeltaFile
+248-0src/opnsense/www/js/widgets/Disk.js
+27-0src/opnsense/mvc/app/controllers/OPNsense/Core/Api/SystemController.php
+6-0src/opnsense/service/conf/actions.d/actions_system.conf
+5-0src/opnsense/mvc/app/controllers/OPNsense/Core/Api/DashboardController.php
+1-0plist
+287-05 files

OPNSense/core de1bc5csrc/opnsense/mvc/app/models/OPNsense/Base/Menu MenuSystem.php

base/MenuSystem - remove Phalcon dependency, in theory it was possible to offer multiple model paths in the phalcon configuration, in practice this was never used (all models live in /usr/local/opnsense/mvc/app/models).

for https://github.com/opnsense/core/issues/6389
DeltaFile
+2-11src/opnsense/mvc/app/models/OPNsense/Base/Menu/MenuSystem.php
+2-111 files

OPNSense/core d1962f8. plist, src/opnsense/mvc/app/library/OPNsense/Core Csrf.php

legacy/csrf - remove Phalcon\Encryption\Security\Random dependency for a simple Csrf class offering the same random url safe base64 encoded string.
DeltaFile
+58-0src/opnsense/mvc/app/library/OPNsense/Core/Csrf.php
+1-16src/www/csrf.inc
+1-0plist
+60-163 files

OPNSense/core dc8a3c4. Makefile, Mk version.mk

make: bring version-specific code closer together
DeltaFile
+2-1Mk/version.mk
+1-0Makefile
+3-12 files

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

mvc: ApiControllerBase->configdStream() - prevent zlib compression as this will add buffering as well, which will result in sluggish behavior for dashboard widgets when webui compression is enabled. (https://github.com/opnsense/core/issues/7244)
DeltaFile
+3-0src/opnsense/mvc/app/controllers/OPNsense/Base/ApiControllerBase.php
+3-01 files

OPNSense/core 523c6afsrc/opnsense/www/js/widgets Traffic.js

Lobby: Dashboard [new] / traffic graph - use offer time instead of "now()", when EventSource() results are stashed, it should keep using the original timestamps.
DeltaFile
+1-1src/opnsense/www/js/widgets/Traffic.js
+1-11 files

OPNSense/core c154892src/opnsense/mvc/app/controllers/OPNsense/Kea/forms dialogSubnet4.xml, src/opnsense/mvc/app/models/OPNsense/Kea KeaDhcpv4.xml

fix: :bug: Update field separator for Kea DHCP Subnet Form and Model (#7418)

Co-authored-by: Katerina Ford <kford at madtechnicalsolutions.com>
DeltaFile
+1-1src/opnsense/mvc/app/controllers/OPNsense/Kea/forms/dialogSubnet4.xml
+1-1src/opnsense/mvc/app/models/OPNsense/Kea/KeaDhcpv4.xml
+2-22 files

OPNSense/core 93e0d14src/etc/inc/plugins.inc.d webgui.inc

system: deny access to .core files from web GUI
DeltaFile
+5-4src/etc/inc/plugins.inc.d/webgui.inc
+5-41 files

OPNSense/core c2d7caesrc/opnsense/scripts/interfaces traffic_top.py

Reporting: Traffic - back to https://github.com/opnsense/core/commit/0d7b9fd34f4aa92eb5503d1cd7d843b87643d7a4 as is_private is easier on the eyes
DeltaFile
+1-1src/opnsense/scripts/interfaces/traffic_top.py
+1-11 files