OPNSense/core 5de9cc0 — src/etc rc.routing_configure, src/opnsense/mvc/app/controllers/OPNsense/Routes/Api RoutesController.php

System: Routes: Configuration - concurrency fix and small cleanups for https://github.com/opnsense/core/issues/10569

If we want to allow a single network being routed through multiple next hops, we should alter our cleanup to use the actual gateway instead of always dropping the destination network.
This change only uniforms how we collect that information from the ui and implements proper locking, the logic itself (drop network when altered or removed) isn't changed yet.
DeltaFile
+33-10src/opnsense/mvc/app/controllers/OPNsense/Routes/Api/RoutesController.php
+22-0src/etc/rc.routing_configure
+55-102 files

OPNSense/core 93af500 — src/opnsense/mvc/app/models/OPNsense/Base BaseModel.php, src/opnsense/mvc/app/models/OPNsense/Interfaces NetworkInterface.php

FileObject: remove +e where used as its always appended nowadays (https://github.com/opnsense/core/commit/55204f9d77b9cb74f314edd5f4b778bbb1aaccf3)

Just a precaution, if for some reason, php in a future version would crash on receiving the same modifier twice, it feels safer to not having it.
DeltaFile
+1-1src/opnsense/mvc/app/models/OPNsense/Interfaces/NetworkInterface.php
+1-1src/opnsense/mvc/app/models/OPNsense/Base/BaseModel.php
+2-22 files

OPNSense/core f681fc2 — src/opnsense/mvc/app/models/OPNsense/Interfaces NetworkInterface.php, src/opnsense/mvc/app/models/OPNsense/Interfaces/FieldTypes DeviceField.php

interfaces: defaults for "configurable" and "spoofmac" are ensured in plugins_devices()
DeltaFile
+4-4src/opnsense/mvc/app/models/OPNsense/Interfaces/NetworkInterface.php
+1-4src/opnsense/scripts/interfaces/list_assign_options.php
+2-2src/opnsense/mvc/app/models/OPNsense/Interfaces/FieldTypes/DeviceField.php
+7-103 files

OPNSense/core 0bcd1e0 — src/opnsense/mvc/app/models/OPNsense/Interfaces NetworkInterface.xml NetworkInterface.php, src/opnsense/mvc/app/models/OPNsense/Interfaces/FieldTypes DeviceField.php

Interfaces: Assignments - add some missing constraints as discussed in https://github.com/opnsense/core/issues/10996
DeltaFile
+22-0src/opnsense/mvc/app/models/OPNsense/Interfaces/NetworkInterface.php
+18-0src/opnsense/mvc/app/models/OPNsense/Interfaces/FieldTypes/DeviceField.php
+6-0src/opnsense/mvc/app/models/OPNsense/Interfaces/NetworkInterface.xml
+2-0src/opnsense/scripts/interfaces/list_assign_options.php
+48-04 files

OPNSense/core bf468af — src/etc/rc.subr.d livemode, src/opnsense/mvc/app/models/OPNsense/Auth/FieldTypes UidField.php

installer: forcefully set uid to 0 for installer user

cc @fichtner
DeltaFile
+9-0src/opnsense/mvc/app/models/OPNsense/Auth/FieldTypes/UidField.php
+1-1src/etc/rc.subr.d/livemode
+10-12 files

OPNSense/core 180f245 — src/opnsense/mvc/app/models/OPNsense/Interfaces NetworkInterface.php

interfaces: small follow-up regarding 'none' use #10996
DeltaFile
+2-2src/opnsense/mvc/app/models/OPNsense/Interfaces/NetworkInterface.php
+2-21 files

OPNSense/core e57c746 — src/opnsense/mvc/app/models/OPNsense/Interfaces/FieldTypes NetworkInterfaceField.php

interfaces: only store "dhcp6_norequest_dns" in DHCPv6 mode
DeltaFile
+3-1src/opnsense/mvc/app/models/OPNsense/Interfaces/FieldTypes/NetworkInterfaceField.php
+3-11 files

OPNSense/core 099b68a — src/opnsense/mvc/app/models/OPNsense/Interfaces NetworkInterface.xml

interfaces: do not render "none" to configuration #10996
DeltaFile
+2-7src/opnsense/mvc/app/models/OPNsense/Interfaces/NetworkInterface.xml
+2-71 files

OPNSense/core ea4f01f — src/opnsense/mvc/app/models/OPNsense/Auth/FieldTypes UidField.php

Revert "mvc: UidField: allow reuse of UID 0 for system scope users"

This reverts commit 649bcb2186ac820c5b50669dee6e8654ab1a3e9d.
There is a bug in the old and new behaviour, but without a proper
test case this will not fix easily.  stable/26.7 doesn't use this
yet so it's sane to hotfix.

PR: https://github.com/opnsense/core/issues/10992
(cherry picked from commit 7bbd7a3c4a3d8a91a0c18b2ea203e00c9bc891c5)
DeltaFile
+6-11src/opnsense/mvc/app/models/OPNsense/Auth/FieldTypes/UidField.php
+6-111 files

OPNSense/core 5b0605a — src/opnsense/mvc/app/models/OPNsense/Interfaces NetworkInterface.php

interafces: PPP type validation fixes for new assignments

(cherry picked from commit abc4c69ce894c07f432d77f3a368662610f487be)
(cherry picked from commit c29bf7f70ae37b9a418a6f6e034dadbd5d12fb81)
(cherry picked from commit 2c04169a64b6014807d0480776180e8e065d7921)
DeltaFile
+4-9src/opnsense/mvc/app/models/OPNsense/Interfaces/NetworkInterface.php
+4-91 files

OPNSense/core 7bbd7a3 — src/opnsense/mvc/app/models/OPNsense/Auth/FieldTypes UidField.php

Revert "mvc: UidField: allow reuse of UID 0 for system scope users"

This reverts commit 649bcb2186ac820c5b50669dee6e8654ab1a3e9d.
There is a bug in the old and new behaviour, but without a proper
test case this will not fix easily.  stable/26.7 doesn't use this
yet so it's sane to hotfix.

PR: https://github.com/opnsense/core/issues/10992
DeltaFile
+6-11src/opnsense/mvc/app/models/OPNsense/Auth/FieldTypes/UidField.php
+6-111 files

OPNSense/core e113cd7 — src/opnsense/mvc/app/views/layout_partials base_menu_system.volt

ui: sync expanded state for selected submenus

Noticed while reviewing https://github.com/opnsense/core/pull/10942

This will prevent two submenus being open at the same time regardless
of depth, which seemed to happen particularly on second-level submenus.

This will cause more shifting around, but this consistency is already
applied on the first-level submenu.

The alternative is to allow multiple second-level submenus open
at the same time and only close when switching top-level sections.
DeltaFile
+2-1src/opnsense/mvc/app/views/layout_partials/base_menu_system.volt
+2-11 files

OPNSense/core 7f3c19a — src/opnsense/mvc/app/models/OPNsense/Interfaces NetworkInterface.php

interfaces: better wording

Complaint via: @Monviech

(cherry picked from commit 2c04169a64b6014807d0480776180e8e065d7921)
DeltaFile
+2-2src/opnsense/mvc/app/models/OPNsense/Interfaces/NetworkInterface.php
+2-21 files

OPNSense/core 2c04169 — src/opnsense/mvc/app/models/OPNsense/Interfaces NetworkInterface.php

interfaces: better wording

Complaint via: @Monviech
DeltaFile
+2-2src/opnsense/mvc/app/models/OPNsense/Interfaces/NetworkInterface.php
+2-21 files

OPNSense/core 5e02424 — src/opnsense/mvc/app/views/layouts default.volt

ui: keep sibling submenus expanded

Alternative to always closing sibling submenus which is what the current
code is doing
DeltaFile
+9-7src/opnsense/mvc/app/views/layouts/default.volt
+9-71 files

OPNSense/core d6cbb48 — src/opnsense/mvc/app/views/layout_partials base_menu_system.volt

ui: sync expanded state for selected submenus

Noticed while reviewing https://github.com/opnsense/core/pull/10942

This will prevent two submenus being open at the same time regardless
of depth, which seemed to happen particularly on second-level submenus.

This will cause more shifting around, but this consistency is already
applied on the first-level submenu.

The alternative is to allow multiple second-level submenus open
at the same time and only close when switching top-level sections.
DeltaFile
+2-1src/opnsense/mvc/app/views/layout_partials/base_menu_system.volt
+2-11 files

OPNSense/core ad0535c — src/etc/inc filter.lib.inc filter_settings.inc, src/etc/inc/plugins.inc.d ipsec.inc pf.inc

Cache model-derived settings for legacy callers in a settings include, so that even a failed migration returns the model defaults to all callers
DeltaFile
+28-27src/etc/inc/filter.inc
+40-0src/etc/inc/filter_settings.inc
+15-14src/etc/inc/filter.lib.inc
+11-9src/opnsense/mvc/app/library/OPNsense/Firewall/Plugin.php
+7-6src/etc/inc/plugins.inc.d/pf.inc
+6-5src/etc/inc/plugins.inc.d/ipsec.inc
+107-617 files not shown
+129-7613 files

OPNSense/core 53f03f4 — src/opnsense/mvc/app/controllers/OPNsense/Interfaces/forms dialogAssignment.xml

interfaces: em does not work as expected, use px
DeltaFile
+3-3src/opnsense/mvc/app/controllers/OPNsense/Interfaces/forms/dialogAssignment.xml
+3-31 files

OPNSense/core b684573 — src/etc/inc filter.lib.inc filter.inc, src/etc/inc/plugins.inc.d ipsec.inc pf.inc

Cache model-derived settings for legacy callers in a settings library, so that even a failed migration returns the model defaults to all callers
DeltaFile
+29-27src/etc/inc/filter.inc
+43-0src/opnsense/mvc/app/library/OPNsense/Firewall/Settings.php
+16-14src/etc/inc/filter.lib.inc
+9-9src/opnsense/mvc/app/library/OPNsense/Firewall/Plugin.php
+8-6src/etc/inc/plugins.inc.d/pf.inc
+7-5src/etc/inc/plugins.inc.d/ipsec.inc
+112-617 files not shown
+138-7613 files

OPNSense/core 494b0e6 — src/opnsense/mvc/app/controllers/OPNsense/Interfaces/forms dialogAssignment.xml

interfaces: tweak grid size in assignments
DeltaFile
+4-1src/opnsense/mvc/app/controllers/OPNsense/Interfaces/forms/dialogAssignment.xml
+4-11 files

OPNSense/core 3e63c1c — . plist, src/etc/inc interfaces.inc

interfaces: remove the PPP uptime option

Was modified in 4d495ea6cc3d3c99366, f129c4682b2a et al. to a state where
the option could still be enabled but never read.  The /conf bound historic
log is still filled but nothing reads it.  Let's retire it for 27.1.

One other goal here is to reduce the incoming impact of a MVC/API rewrite.

Discussed with: @swhite2
DeltaFile
+1-12src/www/interfaces_ppps_edit.php
+0-7src/opnsense/scripts/interfaces/ppp-linkdown.sh
+0-7src/etc/inc/interfaces.inc
+0-5src/opnsense/scripts/interfaces/ppp-uptime.sh
+0-2src/opnsense/scripts/interfaces/ppp-linkup.sh
+0-1plist
+1-346 files

OPNSense/core 5aaddb8 — src/opnsense/scripts/interfaces list_assign_options.php

interfaces: fix previous
DeltaFile
+1-1src/opnsense/scripts/interfaces/list_assign_options.php
+1-11 files

OPNSense/core 6c6540b — src/etc/inc/plugins.inc.d loopback.inc wireguard.inc, src/opnsense/mvc/app/models/OPNsense/Interfaces/FieldTypes DeviceField.php

interfaces: provide better optgroup labels to DeviceField
DeltaFile
+7-0src/etc/inc/plugins.inc.d/core.inc
+3-2src/etc/inc/plugins.inc.d/ipsec.inc
+2-2src/opnsense/scripts/interfaces/list_assign_options.php
+0-3src/opnsense/mvc/app/models/OPNsense/Interfaces/FieldTypes/DeviceField.php
+2-1src/etc/inc/plugins.inc.d/wireguard.inc
+1-0src/etc/inc/plugins.inc.d/loopback.inc
+15-82 files not shown
+17-88 files

OPNSense/core 9c93e02 — src/opnsense/mvc/app/models/OPNsense/Interfaces NetworkInterface.php

interafces: PPP type validation fixes for new assignments

(cherry picked from commit abc4c69ce894c07f432d77f3a368662610f487be)
(cherry picked from commit c29bf7f70ae37b9a418a6f6e034dadbd5d12fb81)
DeltaFile
+4-9src/opnsense/mvc/app/models/OPNsense/Interfaces/NetworkInterface.php
+4-91 files

OPNSense/core c29bf7f — src/opnsense/mvc/app/models/OPNsense/Interfaces NetworkInterface.php

interfaces: PPPoEv6 only works with PPPoE device

This was matching all PPP devices which was wrong.
DeltaFile
+4-4src/opnsense/mvc/app/models/OPNsense/Interfaces/NetworkInterface.php
+4-41 files

OPNSense/core abc4c69 — src/opnsense/mvc/app/models/OPNsense/Interfaces NetworkInterface.php

interafces: PPPoE supports all IPv6 types

Only IPv4 prohibits use of 'staticv4' and 'dhcp'.  In theory
even these could work but we don't want to push our luck.
DeltaFile
+1-6src/opnsense/mvc/app/models/OPNsense/Interfaces/NetworkInterface.php
+1-61 files

OPNSense/core 8f05eca — src/opnsense/mvc/app/controllers/OPNsense/Firewall/Api AliasUtilController.php

Firewall: Diagnostics: Aliases - array_search() should check for boolean false, closes https://github.com/opnsense/core/issues/10981

(cherry picked from commit 6553188c272cf2f7e511a14b66c7969d8927ec6d)
DeltaFile
+1-1src/opnsense/mvc/app/controllers/OPNsense/Firewall/Api/AliasUtilController.php
+1-11 files

OPNSense/core 28aa52f — src/etc/rc.syshook.d/start 10-newwanip

interfaces: missed interface designation on configd call
DeltaFile
+1-1src/etc/rc.syshook.d/start/10-newwanip
+1-11 files

OPNSense/core e024481 — src/etc/inc interfaces.inc, src/etc/rc.syshook.d/carp 20-ppp

interfaces: defer PPP to after bootup #10936

This is intended to fix bootup related issues with PPPoE, e.g. where it
retriggers DHCPv6 too many times.  Essentially it's the same as deferring
the newwanip scripts, but one level below since mpd5 is much more allergic
to link state changes.

This also disables the CARP handling on bootup, but does not address
the backup starting up as well as the master.  Essentially this is what
reconfigure_ppp.php is meant for.
DeltaFile
+21-8src/etc/inc/interfaces.inc
+11-0src/etc/rc.syshook.d/start/10-newwanip
+2-0src/etc/rc.syshook.d/carp/20-ppp
+34-83 files

OPNSense/core d2ad94b — src/etc/inc interfaces.inc

interfaces: introduce interfaces_device_wait() for PPP use
DeltaFile
+23-27src/etc/inc/interfaces.inc
+23-271 files