OPNSense/core 56a7615src/opnsense/mvc/app/models/OPNsense/Base/FieldTypes ContainerField.php

mvc/model/ContainerField - pass isFieldChanged() to children.

Noticed this issue while working on filter validations, which seemed to re-validate each item on every migration due to FieldTypes inheriting from ContainerField.
This is a minor change, but will prevent record validations from triggering unnecessary.

(cherry picked from commit 6f24db1a01602c646a64132d77f06de17e5b955c)
DeltaFile
+12-0src/opnsense/mvc/app/models/OPNsense/Base/FieldTypes/ContainerField.php
+12-01 files

OPNSense/core dd46067src/opnsense/mvc/app/models/OPNsense/Firewall Filter.php, src/opnsense/mvc/app/models/OPNsense/Firewall/Migrations MFP1_0_4.php

mvc: style sweep
DeltaFile
+1-1src/opnsense/mvc/app/models/OPNsense/Firewall/Filter.php
+1-1src/opnsense/mvc/app/models/OPNsense/Firewall/Migrations/MFP1_0_4.php
+2-22 files

OPNSense/core 4489190. plist

plist
DeltaFile
+4-2plist
+4-21 files

OPNSense/core cd81bccsrc/opnsense/mvc/app/controllers/OPNsense/Firewall/Api OneToOneController.php, src/opnsense/mvc/app/controllers/OPNsense/Firewall/forms dialogOneToOneRule.xml

Firewall: NAT: One-to-One - refactor to MVC, closes https://github.com/opnsense/core/issues/7250
DeltaFile
+0-475src/www/firewall_nat_1to1_edit.php
+0-410src/www/firewall_nat_1to1.php
+107-0src/opnsense/mvc/app/models/OPNsense/Firewall/Migrations/MFP1_0_4.php
+81-0src/opnsense/mvc/app/controllers/OPNsense/Firewall/forms/dialogOneToOneRule.xml
+71-1src/opnsense/mvc/app/models/OPNsense/Firewall/Filter.xml
+67-0src/opnsense/mvc/app/controllers/OPNsense/Firewall/Api/OneToOneController.php
+326-8868 files not shown
+439-90714 files

OPNSense/core 6f24db1src/opnsense/mvc/app/models/OPNsense/Base/FieldTypes ContainerField.php

mvc/model/ContainerField - pass isFieldChanged() to children.

Noticed this issue while working on filter validations, which seemed to re-validate each item on every migration due to FieldTypes inheriting from ContainerField.
This is a minor change, but will prevent record validations from triggering unnecessary.
DeltaFile
+12-0src/opnsense/mvc/app/models/OPNsense/Base/FieldTypes/ContainerField.php
+12-01 files

OPNSense/core 697992bsrc/opnsense/mvc/app/models/OPNsense/Base/FieldTypes NetworkAliasField.php

mvc/model - implement getDescription() in NetworkAliasField. As this field type acts as a single (non-list) type, we need to return the description from here as well as BaseListField's implementation doesn't apply here.
DeltaFile
+12-0src/opnsense/mvc/app/models/OPNsense/Base/FieldTypes/NetworkAliasField.php
+12-01 files

OPNSense/core b139e33src/opnsense/mvc/app/models/OPNsense/Base/FieldTypes BaseListField.php

mvc/model - BaseListField replace array_map+strval for loop with cast to preserve execution time. The mapping with strval seems to be rather slow, a simple cast seems to be roughly 4 times faster.
DeltaFile
+5-2src/opnsense/mvc/app/models/OPNsense/Base/FieldTypes/BaseListField.php
+5-21 files

OPNSense/core f652640src/opnsense/www api.php

MVC: deal with explicit buffering on Phalcon side

The start() and finish() methods in Phalcon start and close an output buffer respectively. If we clear this buffer prematurely, as is needed for streaming data, we must handle the exception that pops up as a result of Phalcon trying to close the buffer again. In cases where such control over the output is needed, we must also assume that the headers have already been sent, so silence the output in this case to prevent a PHP fatal error.
DeltaFile
+11-1src/opnsense/www/api.php
+11-11 files

OPNSense/core 50bd3dcsrc/opnsense/mvc/app/library/OPNsense/Trust Store.php

Trust: swapped issuer and subject in parseX509(), closes https://github.com/opnsense/core/issues/7389
DeltaFile
+2-2src/opnsense/mvc/app/library/OPNsense/Trust/Store.php
+2-21 files

OPNSense/core 799917csrc/opnsense/scripts/ipsec updown_event.py

VPN: IPsec: Virtual Tunnel Interfaces - safeguard config access in updown_event.py as get() doesn't have a default. (https://github.com/opnsense/core/issues/6781#issuecomment-2073439667)

(cherry picked from commit b0bf317640c17874fa781846a81a39e76517fc05)
DeltaFile
+4-2src/opnsense/scripts/ipsec/updown_event.py
+4-21 files

OPNSense/core fd7ec1bsrc/opnsense/service/templates/OPNsense/Syslog/local routing.conf

interfaces: hmm, dead code in core.inc ?
DeltaFile
+0-2src/opnsense/service/templates/OPNsense/Syslog/local/routing.conf
+0-21 files

OPNSense/core b0bf317src/opnsense/scripts/ipsec updown_event.py

VPN: IPsec: Virtual Tunnel Interfaces - safeguard config access in updown_event.py as get() doesn't have a default. (https://github.com/opnsense/core/issues/6781#issuecomment-2073439667)
DeltaFile
+4-2src/opnsense/scripts/ipsec/updown_event.py
+4-21 files

OPNSense/core b27881csrc/etc/inc/plugins.inc.d core.inc

interfaces: move radvd and rtsold to system log where they belong

We've long moved dhcp6c to this spot but we're still missing a bit of
context during debugging, e.g. why rtsold keeps restarting dhcp6c with
a SIGHUP.
DeltaFile
+1-1src/etc/inc/plugins.inc.d/core.inc
+1-11 files

OPNSense/core 862b1d7src/opnsense/mvc/app/controllers/OPNsense/Trust/Api CrlController.php

System: Trust: Revocation - forgot to persist new lifetime, causing the following exception:

Exception: Failed to parse time string (+ days) at position 0 (+): Unexpected character in /usr/local/opnsense/mvc/app/controllers/OPNsense/Trust/Api/CrlController.php:347
Stack trace:
DeltaFile
+1-0src/opnsense/mvc/app/controllers/OPNsense/Trust/Api/CrlController.php
+1-01 files

OPNSense/core 633ba99src/opnsense/mvc/app/views/OPNsense/Trust crl.volt

System: Trust: Revocation - check input before use on revoked selectors
DeltaFile
+1-1src/opnsense/mvc/app/views/OPNsense/Trust/crl.volt
+1-11 files

OPNSense/core 4aa0d5asrc/opnsense/mvc/app/models/OPNsense/Trust Ca.xml Cert.xml

System/Trust: Make description in Trust required (#7403)

* Make description in Trust required, since it is used to display the certificate in many parts of the system.

* Revert model version bump to 1.0.0
DeltaFile
+3-1src/opnsense/mvc/app/models/OPNsense/Trust/Ca.xml
+3-1src/opnsense/mvc/app/models/OPNsense/Trust/Cert.xml
+6-22 files

OPNSense/core 7194fdbsrc/opnsense/www/js jquery.bootgrid.js

jquery-bootgrid - sync with https://github.com/opnsense/jquery-bootgrid/pull/7

(cherry picked from commit 08ee9c0175c5012cd8fea1d6f4f18026d9692805)
DeltaFile
+1-1src/opnsense/www/js/jquery.bootgrid.js
+1-11 files

OPNSense/core 7ef6fbfsrc/opnsense/service/conf/actions.d actions_syslog.conf

system: make log rotate action available to cron

(cherry picked from commit 917cfdc2cbf70c29eaad493b04e66818086bc04c)
DeltaFile
+1-0src/opnsense/service/conf/actions.d/actions_syslog.conf
+1-01 files

OPNSense/core dda4df2src/opnsense/scripts/syslog log_archive

System: Settings: Logging - maximum log file size ignored when there's only one file in the directory. closes https://github.com/opnsense/core/issues/7397

The rotate function needed the next file to calculate the suffix, which is problematic if someone just cleaned all logs. This patch improves the match a bit (last _ instead of assuming _ doesn't exist in the name) and uses "1" for the first rotate action.

(cherry picked from commit 73c3b88eb0653898d067515b4860c3961a4f8c84)
DeltaFile
+11-6src/opnsense/scripts/syslog/log_archive
+11-61 files

OPNSense/core 9023883src/opnsense/scripts/dhcp prefixes.php, src/opnsense/service/conf/actions.d actions_dhcpd.conf actions_dhcpd6.conf

dhcpd: make private consumers actually private where it matters

(cherry picked from commit b53fe7c1d9dd9c217b704f8a895c099e6179bee1)
DeltaFile
+1-1src/opnsense/service/conf/actions.d/actions_dhcpd.conf
+1-1src/opnsense/scripts/dhcp/prefixes.php
+1-1src/opnsense/service/conf/actions.d/actions_dhcpd6.conf
+3-33 files

OPNSense/core 4b64e32src/opnsense/mvc/app/controllers/OPNsense/Wireguard/forms dialogConfigBuilder.xml

misquelling of address in wireguard peer generator (#7398)

(cherry picked from commit 81676259d357fc444a78d511f6f1b11f98d94af7)
DeltaFile
+1-1src/opnsense/mvc/app/controllers/OPNsense/Wireguard/forms/dialogConfigBuilder.xml
+1-11 files

OPNSense/core 60fdfddsrc/opnsense/mvc/app/controllers/OPNsense/OpenVPN/Api ServiceController.php

VPN: OpenVPN: Connection Status - fix "attempt to read property...", closes https://github.com/opnsense/core/issues/7388

(cherry picked from commit 8071c8700f39c9f23dd06e941aab540a102e46ad)
DeltaFile
+1-1src/opnsense/mvc/app/controllers/OPNsense/OpenVPN/Api/ServiceController.php
+1-11 files

OPNSense/core ebd7d39src/www guiconfig.inc authgui.inc

system: remove get_current_theme() and align code for safety related to #7336

(cherry picked from commit 16085a24c999031a36dc661526f69e7267878766)
(cherry picked from commit df5680b123a06eee02017c251449a92e27d7919d)
DeltaFile
+32-19src/www/guiconfig.inc
+11-13src/www/authgui.inc
+5-19src/www/head.inc
+6-6src/www/fbegin.inc
+3-3src/www/index.php
+57-605 files

OPNSense/core 885aba5src/opnsense/mvc/app/controllers/OPNsense/Trust/Api CertController.php

System: Trust: Certificates - missing lock on delete action, closes https://github.com/opnsense/core/issues/7402
DeltaFile
+1-0src/opnsense/mvc/app/controllers/OPNsense/Trust/Api/CertController.php
+1-01 files

OPNSense/core 5db3c34src/etc/inc interfaces.inc interfaces.lib.inc

interfaces: detect and ignore "detached" state for IPv6

PR: https://forum.opnsense.org/index.php?topic=39995.0
DeltaFile
+2-1src/etc/inc/interfaces.inc
+3-0src/etc/inc/interfaces.lib.inc
+5-12 files

OPNSense/core b9317c3src/opnsense/mvc/app/controllers/OPNsense/Kea/forms dialogOption4.xml, src/opnsense/mvc/app/models/OPNsense/Kea KeaDhcpv4.php

src: style sweep
DeltaFile
+3-2src/opnsense/mvc/app/models/OPNsense/Kea/KeaDhcpv4.php
+1-1src/opnsense/mvc/app/controllers/OPNsense/Kea/forms/dialogOption4.xml
+1-1src/opnsense/www/js/widgets/Memory.js
+5-43 files

OPNSense/core 3f184a6src/opnsense/mvc/app/controllers/OPNsense/Kea DhcpController.php, src/opnsense/mvc/app/controllers/OPNsense/Kea/Api Dhcpv4Controller.php

Services: Kea DHCP: Kea DHCPv4 - Add Custom Options tab to assign "vendor-encapsulated-options-space" options to subnets, for https://github.com/opnsense/core/pull/7361
DeltaFile
+56-0src/opnsense/mvc/app/models/OPNsense/Kea/KeaDhcpv4.php
+56-0src/opnsense/mvc/app/models/OPNsense/Kea/KeaDhcpv4.xml
+39-0src/opnsense/mvc/app/controllers/OPNsense/Kea/forms/dialogOption4.xml
+37-0src/opnsense/mvc/app/views/OPNsense/Kea/dhcpv4.volt
+28-7src/opnsense/mvc/app/controllers/OPNsense/Kea/Api/Dhcpv4Controller.php
+1-0src/opnsense/mvc/app/controllers/OPNsense/Kea/DhcpController.php
+217-71 files not shown
+218-77 files

OPNSense/core 8f6499e. plist

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

OPNSense/core 73c3b88src/opnsense/scripts/syslog log_archive

System: Settings: Logging - maximum log file size ignored when there's only one file in the directory. closes https://github.com/opnsense/core/issues/7397

The rotate function needed the next file to calculate the suffix, which is problematic if someone just cleaned all logs. This patch improves the match a bit (last _ instead of assuming _ doesn't exist in the name) and uses "1" for the first rotate action.
DeltaFile
+11-6src/opnsense/scripts/syslog/log_archive
+11-61 files

OPNSense/core 8167625src/opnsense/mvc/app/controllers/OPNsense/Wireguard/forms dialogConfigBuilder.xml

misquelling of address in wireguard peer generator (#7398)

DeltaFile
+1-1src/opnsense/mvc/app/controllers/OPNsense/Wireguard/forms/dialogConfigBuilder.xml
+1-11 files