OPNSense/core f0d1befsrc/opnsense/service/templates/OPNsense/Cron user.cron

System: Settings: Cron - missing newline when generating cron jobs (regression in https://github.com/opnsense/core/issues/10075 )

(cherry picked from commit 55c7bd247e7aa202f945bde13d36c3eb8d750707)
DeltaFile
+1-1src/opnsense/service/templates/OPNsense/Cron/user.cron
+1-11 files

OPNSense/core 55c7bd2src/opnsense/service/templates/OPNsense/Cron user.cron

System: Settings: Cron - missing newline when generating cron jobs (regression in https://github.com/opnsense/core/issues/10075 )
DeltaFile
+1-1src/opnsense/service/templates/OPNsense/Cron/user.cron
+1-11 files

OPNSense/core 2720769src/opnsense/mvc/app/models/OPNsense/Routing GatewayGroups.xml, src/opnsense/mvc/app/models/OPNsense/Routing/FieldTypes GatewayGroupItemField.php

set this in the model just to be explicit
DeltaFile
+5-0src/opnsense/mvc/app/models/OPNsense/Routing/GatewayGroups.xml
+0-1src/opnsense/mvc/app/models/OPNsense/Routing/FieldTypes/GatewayGroupItemField.php
+5-12 files

OPNSense/core 8533921. plist, src/www system_gateway_groups_edit.php system_gateway_groups.php

remove legacy pages
DeltaFile
+0-288src/www/system_gateway_groups_edit.php
+0-221src/www/system_gateway_groups.php
+0-2plist
+0-5113 files

OPNSense/core 219fcc7src/opnsense/scripts/routes gateways.php

remove line
DeltaFile
+0-1src/opnsense/scripts/routes/gateways.php
+0-11 files

OPNSense/core 06961e5src/opnsense/mvc/app/models/OPNsense/Routing GatewayGroups.php GatewayGroups.xml, src/opnsense/scripts/routes gateways.php

Gateway Groups: MVC: missing gateway name validation, modify backend call to optionally exclude localhost,inactive,disabled
DeltaFile
+14-13src/opnsense/scripts/routes/gateways.php
+13-3src/opnsense/mvc/app/models/OPNsense/Routing/GatewayGroups.php
+5-5src/opnsense/mvc/app/models/OPNsense/Routing/GatewayGroups.xml
+32-213 files

OPNSense/core 156b674src/opnsense/mvc/app/views/OPNsense/Routing groups.volt

Gateway Groups: MVC: fix endpoint
DeltaFile
+1-1src/opnsense/mvc/app/views/OPNsense/Routing/groups.volt
+1-11 files

OPNSense/core b055d86src/opnsense/mvc/app/controllers/OPNsense/Routing/Api GroupSettingsController.php, src/opnsense/mvc/app/models/OPNsense/Routing GatewayGroups.php

Gateway Groups: MVC: protect group deletion and fix getGroupsConfig()
DeltaFile
+25-0src/opnsense/mvc/app/controllers/OPNsense/Routing/Api/GroupSettingsController.php
+2-4src/opnsense/mvc/app/models/OPNsense/Routing/GatewayGroups.php
+3-0src/opnsense/mvc/app/views/OPNsense/Routing/groups.volt
+30-43 files

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

model bump not needed anymore
DeltaFile
+1-1src/opnsense/mvc/app/models/OPNsense/Kea/KeaDhcpv6.xml
+1-11 files

OPNSense/core 59cd5ecsrc/opnsense/mvc/app/controllers/OPNsense/Kea/forms dialogSubnet6.xml, src/opnsense/mvc/app/models/OPNsense/Kea KeaDhcpv6.php KeaDhcpv6.xml

Add prefix source interface and resolve current prefix via Autoconf::getPrefix
DeltaFile
+3-7src/opnsense/mvc/app/controllers/OPNsense/Kea/forms/dialogSubnet6.xml
+9-1src/opnsense/mvc/app/models/OPNsense/Kea/KeaDhcpv6.php
+1-4src/opnsense/mvc/app/models/OPNsense/Kea/KeaDhcpv6.xml
+13-123 files

OPNSense/core 429e3d7src/opnsense/mvc/app/controllers/OPNsense/Routing GatewayGroupsController.php, src/opnsense/mvc/app/controllers/OPNsense/Routing/forms dialogEditGatewayGroup.xml

Gateway Groups: MVC conversion: review feedback and add UI
DeltaFile
+55-0src/opnsense/mvc/app/controllers/OPNsense/Routing/forms/dialogEditGatewayGroup.xml
+46-0src/opnsense/mvc/app/views/OPNsense/Routing/groups.volt
+41-0src/opnsense/mvc/app/controllers/OPNsense/Routing/GatewayGroupsController.php
+28-13src/opnsense/mvc/app/models/OPNsense/Routing/GatewayGroups.php
+2-7src/opnsense/mvc/app/models/OPNsense/Core/ACL/ACL.xml
+1-4src/opnsense/mvc/app/models/OPNsense/Core/Menu/Menu.xml
+173-242 files not shown
+179-248 files

OPNSense/core de70085src/opnsense/mvc/app/controllers/OPNsense/Kea/forms dialogSubnet6.xml

Also add dynamic_prefix to subnet6 dialog
DeltaFile
+10-0src/opnsense/mvc/app/controllers/OPNsense/Kea/forms/dialogSubnet6.xml
+10-01 files

OPNSense/core a33baeesrc/opnsense/mvc/app/models/OPNsense/Kea KeaDhcpv6.xml KeaDhcpv6.php

Add a dynamic_prefix key to the user-context so we know which subnet6 should be enriched in a post apply hook later
DeltaFile
+5-1src/opnsense/mvc/app/models/OPNsense/Kea/KeaDhcpv6.xml
+1-0src/opnsense/mvc/app/models/OPNsense/Kea/KeaDhcpv6.php
+6-12 files

OPNSense/plugins 7bbc745security/acme-client pkg-descr, security/acme-client/src/opnsense/mvc/app/controllers/OPNsense/AcmeClient/forms dialogValidation.xml dialogAction.xml

security/acme-client: sync with master
DeltaFile
+50-0security/acme-client/src/opnsense/mvc/app/models/OPNsense/AcmeClient/Migrations/M4_4_0.php
+27-4security/acme-client/src/opnsense/mvc/app/models/OPNsense/AcmeClient/AcmeClient.xml
+11-0security/acme-client/pkg-descr
+8-2security/acme-client/src/opnsense/mvc/app/controllers/OPNsense/AcmeClient/forms/dialogValidation.xml
+4-4security/acme-client/src/opnsense/mvc/app/controllers/OPNsense/AcmeClient/forms/dialogAction.xml
+3-1security/acme-client/src/opnsense/mvc/app/library/OPNsense/AcmeClient/LeValidation/DnsActive24.php
+103-112 files not shown
+105-138 files

OPNSense/plugins ec0c6fenet-mgmt/zabbix-proxy Makefile pkg-descr

net-mgmt/zabbix-proxy: sync with master
DeltaFile
+2-5net-mgmt/zabbix-proxy/Makefile
+4-0net-mgmt/zabbix-proxy/pkg-descr
+6-52 files

OPNSense/plugins 7146a0dnet-mgmt/zabbix-agent Makefile pkg-descr

net-mgmt/zabbix-agent: sync with master
DeltaFile
+2-5net-mgmt/zabbix-agent/Makefile
+5-0net-mgmt/zabbix-agent/pkg-descr
+7-52 files

OPNSense/plugins 5f70941devel/grid_example Makefile, devel/grid_example/src/opnsense/mvc/app/controllers/OPNsense/GridExample/forms dialogAddress.xml

devel/grid_example: sync with master
DeltaFile
+10-3devel/grid_example/src/opnsense/mvc/app/models/OPNsense/GridExample/GridExample.xml
+9-3devel/grid_example/src/opnsense/mvc/app/controllers/OPNsense/GridExample/forms/dialogAddress.xml
+1-0devel/grid_example/Makefile
+20-63 files

OPNSense/plugins a2423fadevel/helloworld Makefile, devel/helloworld/src/opnsense/mvc/app/controllers/OPNsense/HelloWorld/Api SettingsController.php

devel/helloworld: sync with master
DeltaFile
+28-22devel/helloworld/src/opnsense/mvc/app/controllers/OPNsense/HelloWorld/Api/SettingsController.php
+2-4devel/helloworld/src/opnsense/mvc/app/models/OPNsense/HelloWorld/HelloWorld.xml
+1-1devel/helloworld/Makefile
+31-273 files

OPNSense/plugins a875ab2Mk defaults.mk git.mk

make: add proper merge target origin

(cherry picked from commit 58c1ae78b5a6ee9bb05ab009ec0f88179708296f)
(cherry picked from commit ed017f7e1e4b8f85381dcae1696c6997a8ad72a0)
DeltaFile
+1-0Mk/defaults.mk
+1-0Mk/git.mk
+2-02 files

OPNSense/plugins c9a29c1.github pull_request_template.md

github: update pull request template following tweaks on master

(cherry picked from commit 042783df72cfda265aeb418eafe899baf16faed1)
DeltaFile
+7-5.github/pull_request_template.md
+7-51 files

OPNSense/core 26b1850src/opnsense/mvc/app/library/OPNsense/Trust Store.php

mvc: style sweep
DeltaFile
+1-1src/opnsense/mvc/app/library/OPNsense/Trust/Store.php
+1-11 files

OPNSense/core 836a0a5src/etc/inc auth.inc

auth: style sweep
DeltaFile
+2-1src/etc/inc/auth.inc
+2-11 files

OPNSense/core baa1467src/opnsense/mvc/app/views/layouts default.volt

ui: change generic error trap to exclude upgradestatus messages and prevent multiple instances being created, which prevents the user being spammed faster than he/she can close dialogs.

(cherry picked from commit 6f48d0fa4fa0571bd55479271b7dec716c85d53c)
DeltaFile
+9-1src/opnsense/mvc/app/views/layouts/default.volt
+9-11 files

OPNSense/core 0f13ad9src/opnsense/mvc/app/models/OPNsense/Unbound Unbound.php Unbound.xml

Services: Unbound DNS: Overrides - One of the major disadvantages of asking for domains and hostnames seperately is that standard fqdn validations don't apply, which is the case here. Adding a dot at the end of a fqdn is valid, having an empty element isn't. We fix the latter by preventing a hostname ending with a dot here. closes https://github.com/opnsense/core/issues/10170

(cherry picked from commit 16ddd5a1c1f4751171de10b036f0f8e04ac3d682)
DeltaFile
+10-0src/opnsense/mvc/app/models/OPNsense/Unbound/Unbound.php
+1-0src/opnsense/mvc/app/models/OPNsense/Unbound/Unbound.xml
+11-02 files

OPNSense/core 593a591src/opnsense/mvc/app/controllers/OPNsense/Firewall/Api FilterBaseController.php FilterController.php

Firewall: Use save method from ApiMutableModelControllerBase for log command, move rule command and savepoint action (#10201)

* Firewall: Use save method from ApiMutableModelControllerBase for log command, move rule command and savepoint action

* Guard all Savepoint Actions additionally as they can interact directly with the config save inside the model

* Add comment to mark the savepoint feature as currently unused by GUI

* We can enable validation on save since only changed fields are evaluated and log or sequence are not chained into other dependant validations
DeltaFile
+15-8src/opnsense/mvc/app/controllers/OPNsense/Firewall/Api/FilterBaseController.php
+1-2src/opnsense/mvc/app/controllers/OPNsense/Firewall/Api/FilterController.php
+16-102 files

OPNSense/core 614b363src/opnsense/mvc/app/controllers/OPNsense/Firewall/forms dialogDNatRule.xml

firewall: clarify redirect target port help text (#10223)

(cherry picked from commit 3d696692a970df18847b844b9d58a4c2748363ef)
DeltaFile
+1-1src/opnsense/mvc/app/controllers/OPNsense/Firewall/forms/dialogDNatRule.xml
+1-11 files

OPNSense/core 63ff497src/opnsense/mvc/app/controllers/OPNsense/Kea/Api Dhcpv4Controller.php Dhcpv6Controller.php, src/opnsense/mvc/app/views/OPNsense/Dnsmasq settings.volt

mvc: generalize placeholders between controllers and JS for #10225

(cherry picked from commit 34db4ec6d7c819bec276d178d4d59e5d619391b2)
DeltaFile
+0-8src/opnsense/mvc/app/views/OPNsense/Kea/dhcpv4.volt
+0-8src/opnsense/mvc/app/views/OPNsense/Dnsmasq/settings.volt
+0-8src/opnsense/mvc/app/views/OPNsense/Kea/dhcpv6.volt
+3-1src/opnsense/mvc/app/controllers/OPNsense/Kea/Api/Dhcpv4Controller.php
+3-1src/opnsense/mvc/app/controllers/OPNsense/Kea/Api/Dhcpv6Controller.php
+3-0src/opnsense/www/js/opnsense.js
+9-261 files not shown
+11-277 files

OPNSense/core 0864576src/opnsense/scripts/syslog lockout_handler

system: lockout bypass fix

Parse reject messages before parsing success messages.

PR: GHSA-h3vx-4q27-rc42

(cherry picked from commit 7a0a4c174e62f9316f520b8e4dcccd1b6f216213)
DeltaFile
+3-3src/opnsense/scripts/syslog/lockout_handler
+3-31 files

OPNSense/core 7a0a4c1src/opnsense/scripts/syslog lockout_handler

Merge commit from fork

* lockout bypass

* Apply suggestion from @fichtner

* Apply suggestion from @fichtner

* Apply suggestion from @fichtner

---------

Co-authored-by: Konstantinos Spartalis <scoon405 at gmail.com>
DeltaFile
+3-3src/opnsense/scripts/syslog/lockout_handler
+3-31 files

OPNSense/core aa0a2e1src/etc/inc auth.inc

system: protect popen() with exec_safe()

Shell code execution safety has been widely covered in previous releases
but two popen() calls have eluded that previous scope.  The code is a bit
overloaded for historic reasons and trusts the config.xml content, but
it can be manipulated with admin-level access rights through either config
import or XMLRPC sync to contain shell injection which lands on the system
unquoted.  Fix this by splitting up composite variable $user_op and quoting
every dynamic argument to make sure there is no vector left to inject a
command.

PR: GHSA-xxp9-93cr-x54p

(cherry picked from commit 3b6f357e26a38079313b926b5a5d2b7171717d54)
DeltaFile
+9-6src/etc/inc/auth.inc
+9-61 files