OPNSense/core 08d6a78src/opnsense/scripts/routes gateway_watcher.php

system: regression in f10505148f1b7d clears $ralarm if true for default gateway switching

(cherry picked from commit 94b3771b774f86d12f17fc23db4c594bd78b18aa)
DeltaFile
+1-1src/opnsense/scripts/routes/gateway_watcher.php
+1-11 files

OPNSense/core 94b3771src/opnsense/scripts/routes gateway_watcher.php

system: regression in f10505148f1b7d clears $ralarm if true for default gateway switching
DeltaFile
+1-1src/opnsense/scripts/routes/gateway_watcher.php
+1-11 files

OPNSense/core 5023639src/opnsense/mvc/app/controllers/OPNsense/Base UserInformationalException.php UserWarningException.php

mvc: style sweep
DeltaFile
+1-2src/opnsense/mvc/app/controllers/OPNsense/Base/UserInformationalException.php
+1-2src/opnsense/mvc/app/controllers/OPNsense/Base/UserWarningException.php
+2-42 files

OPNSense/core 118f82esrc/opnsense/mvc/app/views/layouts default.volt

MVC: leftover debug statement
DeltaFile
+0-1src/opnsense/mvc/app/views/layouts/default.volt
+0-11 files

OPNSense/core 1ccaae9src/opnsense/www/js/widgets Interfaces.js

dashboard: restore stacked layout for interfaces widget on narrow widgets (#10564)
DeltaFile
+2-12src/opnsense/www/js/widgets/Interfaces.js
+2-121 files

OPNSense/core 99e49c5src/opnsense/mvc/app/controllers/OPNsense/Base UserBaseException.php UserInformationalException.php, src/opnsense/mvc/app/controllers/OPNsense/Firewall/Api FilterController.php

MVC:UserException - add some exception types and handle them in the base template, closes https://github.com/opnsense/core/pull/10430

Although we can debate about the http status codes (kept the standard one at 500,  warning and info as 200), the idea is to add some glue for the frontend so it knows what we mean and can represent the dialog based on its type.
DeltaFile
+64-0src/opnsense/mvc/app/controllers/OPNsense/Base/UserBaseException.php
+43-0src/opnsense/mvc/app/controllers/OPNsense/Base/UserInformationalException.php
+43-0src/opnsense/mvc/app/controllers/OPNsense/Base/UserWarningException.php
+2-17src/opnsense/mvc/app/controllers/OPNsense/Base/UserException.php
+11-1src/opnsense/mvc/app/views/layouts/default.volt
+4-4src/opnsense/mvc/app/controllers/OPNsense/Firewall/Api/FilterController.php
+167-222 files not shown
+174-238 files

OPNSense/core 2d0a631src/opnsense/mvc/app/views/OPNsense/Firewall filter_rule.volt nat_rule.volt

Hide all commands except delete for defunct rules, also hide enabled/disabled rowtoggle
DeltaFile
+12-1src/opnsense/mvc/app/views/OPNsense/Firewall/filter_rule.volt
+10-2src/opnsense/mvc/app/views/OPNsense/Firewall/nat_rule.volt
+22-32 files

OPNSense/core ad64deasrc/etc/inc interfaces.inc, src/opnsense/mvc/app/controllers/OPNsense/Firewall/Api SourceNatController.php

Merge remote-tracking branch 'origin/master' into firewall-invalid-rules
DeltaFile
+12-83src/opnsense/mvc/app/controllers/OPNsense/Firewall/Api/SourceNatController.php
+46-45src/opnsense/mvc/app/library/OPNsense/Trust/Store.php
+36-47src/www/firewall_nat_out.php
+42-35src/etc/inc/interfaces.inc
+30-29src/www/interfaces.php
+50-0src/opnsense/mvc/app/models/OPNsense/Trust/Migrations/M1_0_2.php
+216-23954 files not shown
+513-41560 files

OPNSense/core b077133src/opnsense/mvc/app/models/OPNsense/Core/Menu Menu.xml, src/opnsense/mvc/app/models/OPNsense/Firewall/Menu Menu.php

firewall: fix empty menu container

PR: https://forum.opnsense.org/index.php?topic=52504.0
DeltaFile
+4-0src/opnsense/mvc/app/models/OPNsense/Firewall/Menu/Menu.php
+0-1src/opnsense/mvc/app/models/OPNsense/Core/Menu/Menu.xml
+4-12 files

OPNSense/core 2569433src/etc/inc config.inc, src/opnsense/mvc/app/controllers/OPNsense/Base ApiControllerBase.php ApiMutableServiceControllerBase.php

mvc: create runInterfaceRegistation and use it from all required spots

1. Fix the stale cache after applying new interfaces/devices in existing paths
2. Allow to call it from controllers who do not use invokeInterfaceRegistration()

Needs to be patched into Device apply/reconfigures next.
DeltaFile
+22-24src/opnsense/mvc/app/controllers/OPNsense/Firewall/Api/GroupController.php
+11-0src/opnsense/mvc/app/controllers/OPNsense/Base/ApiControllerBase.php
+1-8src/etc/inc/config.inc
+2-3src/opnsense/mvc/app/controllers/OPNsense/OpenVPN/Api/ServiceController.php
+1-1src/opnsense/mvc/app/controllers/OPNsense/Base/ApiMutableServiceControllerBase.php
+1-1src/opnsense/mvc/app/controllers/OPNsense/Wireguard/Api/ServiceController.php
+38-371 files not shown
+39-387 files

OPNSense/core 18d7b7asrc/opnsense/mvc/app/controllers/OPNsense/Interfaces/Api LaggSettingsController.php BridgeSettingsController.php

interfaces: patch runInterfaceRegistration() into device applies

Note that configure should run before registration in order to pick up
additional runtime information in the assignment list cache (if applicable).
DeltaFile
+1-0src/opnsense/mvc/app/controllers/OPNsense/Interfaces/Api/LaggSettingsController.php
+1-0src/opnsense/mvc/app/controllers/OPNsense/Interfaces/Api/BridgeSettingsController.php
+1-0src/opnsense/mvc/app/controllers/OPNsense/Interfaces/Api/GifSettingsController.php
+1-0src/opnsense/mvc/app/controllers/OPNsense/Interfaces/Api/GreSettingsController.php
+1-0src/opnsense/mvc/app/controllers/OPNsense/Interfaces/Api/LoopbackSettingsController.php
+1-0src/opnsense/mvc/app/controllers/OPNsense/Interfaces/Api/VlanSettingsController.php
+6-01 files not shown
+7-07 files

OPNSense/core 137513csrc/etc/inc interfaces.inc, src/etc/inc/plugins.inc.d core.inc

interfaces: permit a vlan device as bridge member, resolve VLAN devices indirectly via interfaces_configure() (#10584)

* interfaces: permit a vlan device as bridge member

* interfaces: resolve VLAN devices indirectly via interfaces_configure()

This also adds device creation for parents so that we ca naturally
resolve QinQ and VLANs on bridges.

---------

Co-authored-by: Franco Fichtner <franco at opnsense.org>
DeltaFile
+42-34src/etc/inc/interfaces.inc
+11-14src/opnsense/scripts/interfaces/reconfigure_vlans.php
+2-1src/etc/inc/plugins.inc.d/core.inc
+0-1src/opnsense/mvc/app/models/OPNsense/Interfaces/FieldTypes/VlanInterfaceField.php
+55-504 files

OPNSense/core 2660a4csrc/etc/inc interfaces.inc

interfaces: typo for code tracing
DeltaFile
+1-1src/etc/inc/interfaces.inc
+1-11 files

OPNSense/core 582d5a6src/etc/inc config.inc, src/opnsense/mvc/app/controllers/OPNsense/Base ApiControllerBase.php ApiMutableServiceControllerBase.php

mvc: create runInterfaceRegistation and use it from all required spots

1. Fix the stale cache after applying new interfaces/devices in existing paths
2. Allow to call it from controllers who do not use invokeInterfaceRegistration()

Needs to be patched into Device apply/reconfigures next.
DeltaFile
+24-24src/opnsense/mvc/app/controllers/OPNsense/Firewall/Api/GroupController.php
+11-0src/opnsense/mvc/app/controllers/OPNsense/Base/ApiControllerBase.php
+1-8src/etc/inc/config.inc
+3-3src/opnsense/mvc/app/controllers/OPNsense/OpenVPN/Api/ServiceController.php
+3-1src/opnsense/mvc/app/controllers/OPNsense/Wireguard/Api/ServiceController.php
+1-1src/opnsense/mvc/app/controllers/OPNsense/Base/ApiMutableServiceControllerBase.php
+43-371 files not shown
+44-387 files

OPNSense/core e8ab74dsrc/etc/inc interfaces.inc, src/etc/inc/plugins.inc.d core.inc

interfaces: resolve VLAN devices indirectly via interfaces_configure()

This also adds device creation for parents so that we ca naturally
resolve QinQ and VLANs on bridges.
DeltaFile
+41-34src/etc/inc/interfaces.inc
+11-14src/opnsense/scripts/interfaces/reconfigure_vlans.php
+2-1src/etc/inc/plugins.inc.d/core.inc
+54-493 files

OPNSense/core a9c1bdcsrc/www interfaces.php firewall_nat_out.php

ACL - improve `user-config-readonly` in some cases, when we can't write, best also not try to reconfigure anything.
DeltaFile
+30-29src/www/interfaces.php
+23-16src/www/firewall_nat_out.php
+20-12src/www/firewall_scrub.php
+12-11src/www/system_advanced_admin.php
+11-10src/www/system_general.php
+7-6src/www/interfaces_ppps_edit.php
+103-8410 files not shown
+138-11016 files

OPNSense/core 09b63a4src/opnsense/mvc/app/controllers/OPNsense/Firewall/forms dialogSNatRule.xml

Firewall: NAT: Source NAT: add staticnatport and endpoint-independent in the grid and add boolean formatter
DeltaFile
+6-2src/opnsense/mvc/app/controllers/OPNsense/Firewall/forms/dialogSNatRule.xml
+6-21 files

OPNSense/core 90683d6src/opnsense/mvc/app/controllers/OPNsense/Firewall/Api SourceNatController.php, src/opnsense/service/conf/actions.d actions_filter.conf

Firewall: NAT: Source NAT: use new 'pluginctl -r outbound_nat' action to populate automatic rules in grid
DeltaFile
+12-83src/opnsense/mvc/app/controllers/OPNsense/Firewall/Api/SourceNatController.php
+7-0src/opnsense/service/conf/actions.d/actions_filter.conf
+19-832 files

OPNSense/core 6ccb74csrc/etc/inc filter.inc filter.lib.inc, src/etc/inc/plugins.inc.d pf.inc openvpn.inc

firewall: pluginify filter_core_get_default_nat_outbound_networks() #10539

Bring a bit of structure into this legacy code: move the "plugin"
parts to its own "oubound_net" run target, collect it with the new
filter_auto_source_nat() and just iterate over it from the code
that needs this.  We do all of this to provide a possible configd
target to expose the actual automatic rules skeleton to the MVC
source NAT GUI.

  # pluginctl -r outbound_nat
  {
    "pf": {
      "wan": {
        "lan": "LAN networks",
        "lo0": "Loopback networks",
        "127.0.0.0/8": "127.0.0.0/8"
      }
    }
  }
DeltaFile
+14-31src/etc/inc/filter.inc
+13-31src/www/firewall_nat_out.php
+12-19src/etc/inc/filter.lib.inc
+25-0src/etc/inc/plugins.inc.d/pf.inc
+24-0src/etc/inc/plugins.inc.d/openvpn.inc
+21-0src/etc/inc/plugins.inc.d/ipsec.inc
+109-811 files not shown
+109-827 files

OPNSense/core a7e8b8asrc/opnsense/mvc/app/controllers/OPNsense/Firewall/Api SourceNatController.php

remove some implicit defaults from the auto generated rules
DeltaFile
+0-25src/opnsense/mvc/app/controllers/OPNsense/Firewall/Api/SourceNatController.php
+0-251 files

OPNSense/core b1fd78bsrc/opnsense/mvc/app/controllers/OPNsense/Firewall/Api SourceNatController.php, src/opnsense/service/conf/actions.d actions_filter.conf

Firewall: NAT: Source NAT: use new 'pluginctl -r outbound_nat' action to populate automatic rules in grid
DeltaFile
+14-60src/opnsense/mvc/app/controllers/OPNsense/Firewall/Api/SourceNatController.php
+7-0src/opnsense/service/conf/actions.d/actions_filter.conf
+21-602 files

OPNSense/core 0e9861csrc/opnsense/mvc/app/controllers/OPNsense/Firewall/forms dialogSNatRule.xml, src/opnsense/mvc/app/library/OPNsense/Firewall SNatRule.php

Firewall: NAT: Source NAT - add endpoint-independent for UDP translations (full cone nat), closes https://github.com/opnsense/core/issues/8384
DeltaFile
+9-0src/opnsense/mvc/app/controllers/OPNsense/Firewall/forms/dialogSNatRule.xml
+6-0src/opnsense/mvc/app/models/OPNsense/Firewall/Filter.php
+1-0src/opnsense/mvc/app/library/OPNsense/Firewall/SNatRule.php
+1-0src/opnsense/mvc/app/models/OPNsense/Firewall/Filter.xml
+17-04 files

OPNSense/core 6060df7src/etc/inc interfaces.inc

interfaces: do not destroy the vlan if its just a reconfiguration, otherwise we loose IP configuration that has already finished
DeltaFile
+6-4src/etc/inc/interfaces.inc
+6-41 files

OPNSense/core c5a438dsrc/etc/inc interfaces.inc

interfaces: run vlan configuration when bridge parent exists to fix bridge dependent vlan parents.
DeltaFile
+9-1src/etc/inc/interfaces.inc
+9-11 files

OPNSense/core d0862easrc/etc/inc interfaces.inc

interfaces: defer vlan creation when dependant on bridge till after the bridge exists. This needs two separate vlan configuration runs to keep the old boot order unchanged.
DeltaFile
+32-23src/etc/inc/interfaces.inc
+32-231 files

OPNSense/core a7002bbsrc/etc/inc system.inc, src/opnsense/service/templates/OPNsense/Trust openssl.cnf

system: selftest POC with OpenSSL FIPS

Feeds the FIPS config to the OpenSSL config, but needs
an untainted config to run...
DeltaFile
+16-0src/etc/inc/system.inc
+4-0src/opnsense/service/templates/OPNsense/Trust/openssl.cnf
+20-02 files

OPNSense/core aba5311src/etc/inc/plugins.inc.d webgui.inc, src/opnsense/service/templates/OPNsense/Captiveportal lighttpd-api-dispatcher.conf

system: lower max-request-size to roughly max post size in lighttpd configs

Looks like a typo in https://github.com/pfsense/pfsense/commit/ee959dc4e150
as 2GB is rather high for this option.

Ref: https://redmine.lighttpd.net/projects/1/wiki/Server_max-request-sizeDetails
PR: GHSA-h4qj-j2x9-q553
(cherry picked from commit ba0aa2551771b6ce6fa2d48ecb3c8974da8af984)
DeltaFile
+1-1src/opnsense/service/templates/OPNsense/Captiveportal/lighttpd-api-dispatcher.conf
+1-1src/etc/inc/plugins.inc.d/webgui.inc
+2-22 files

OPNSense/core 70256edsrc/opnsense/mvc/app/controllers/OPNsense/Diagnostics/Api NetflowController.php, src/opnsense/mvc/app/controllers/OPNsense/Firewall/Api AliasUtilController.php

safeguard some write operations with missing throwReadOnly() actions for custom actions.

PR: GHSA-vw8q-pqq7-2q7v
(cherry picked from commit f580358f9cf8219d3b4eb26262e5c1b3eaa4468d)
DeltaFile
+4-2src/opnsense/mvc/app/controllers/OPNsense/Firewall/Api/AliasUtilController.php
+2-0src/opnsense/mvc/app/controllers/OPNsense/Trust/Api/CrlController.php
+1-0src/opnsense/mvc/app/controllers/OPNsense/IPsec/Api/ConnectionsController.php
+1-0src/opnsense/mvc/app/controllers/OPNsense/OpenVPN/Api/ExportController.php
+1-0src/opnsense/mvc/app/controllers/OPNsense/Unbound/Api/SettingsController.php
+1-0src/opnsense/mvc/app/controllers/OPNsense/Diagnostics/Api/NetflowController.php
+10-26 files

OPNSense/core f7c5fa8src/opnsense/mvc/app/controllers/OPNsense/OpenVPN/Api ExportController.php, src/opnsense/mvc/app/library/OPNsense/Trust Store.php

openvpn: client export can export private keys for unlisted certificate references

We extend getCertificate() a bit to include our own internal key, so we can match
that easily and throw an exception when the cert wasn't shown in the list.  By no
means should one offer access to the export to non privileged users due to the
sensitive nature of the data and the fact that CA's might be used for mulitple
purposes (in which case all certs can be extracted here).

PR: GHSA-rw63-4hw9-p4v7
(cherry picked from commit fcf7309ae82d182b80ef26e4207030457f414301)
DeltaFile
+46-45src/opnsense/mvc/app/library/OPNsense/Trust/Store.php
+10-1src/opnsense/mvc/app/controllers/OPNsense/OpenVPN/Api/ExportController.php
+56-462 files

OPNSense/core 398018dsrc/opnsense/mvc/app/controllers/OPNsense/IDS/Api SettingsController.php, src/opnsense/mvc/app/views/OPNsense/Diagnostics fw_log.volt

ui: fix multiple stored XSS

PR: GHSA-jm2f-ch62-rpxr
(cherry picked from commit d0ffce23cb9fa8ed0481c93f4973a720dbe4b96b)
DeltaFile
+7-11src/opnsense/mvc/app/views/OPNsense/Diagnostics/fw_log.volt
+7-5src/www/diag_authentication.php
+3-1src/opnsense/www/api.php
+1-2src/opnsense/mvc/app/views/OPNsense/Trust/crl.volt
+1-1src/opnsense/www/js/opnsense.js
+1-1src/opnsense/mvc/app/controllers/OPNsense/IDS/Api/SettingsController.php
+20-211 files not shown
+21-227 files