OPNSense/core be15851src/opnsense/mvc/app/views/OPNsense/Kea leases6.volt, src/opnsense/scripts/kea get_kea_leases.py

Also expose type and iaid in the leases page for completion
DeltaFile
+2-0src/opnsense/scripts/kea/get_kea_leases.py
+1-0src/opnsense/mvc/app/views/OPNsense/Kea/leases6.volt
+3-02 files

OPNSense/core a7f28fcsrc/opnsense/mvc/app/controllers/OPNsense/Kea/Api LeasesController.php, src/opnsense/mvc/app/views/OPNsense/Kea leases6.volt

Services: Kea DHCPv6: infer IPv6 lease tpe in delete script via lease lookup

This avoids propagating lease type handling through controller and UI
layers while fixing unreliable deletion of IA_PD leases.

The approach is pragmatic: in the extremely unlikely case that IA_NA and
IA_PD share the same base address, multiple leases may be deleted. This
tradeoff is considered acceptable given the low impact and recoverable
nature of DHCP leases.
DeltaFile
+29-5src/opnsense/scripts/kea/del_kea_leases.py
+2-1src/opnsense/mvc/app/views/OPNsense/Kea/leases6.volt
+1-1src/opnsense/mvc/app/controllers/OPNsense/Kea/Api/LeasesController.php
+32-73 files

OPNSense/core 5413f26src/opnsense/mvc/app/controllers/OPNsense/Kea/Api LeasesController.php

Lets make it explicit that type is optional to delete a lease
DeltaFile
+1-1src/opnsense/mvc/app/controllers/OPNsense/Kea/Api/LeasesController.php
+1-11 files

OPNSense/core dfaa511src/opnsense/mvc/app/controllers/OPNsense/Kea/Api LeasesController.php

Diff control
DeltaFile
+1-1src/opnsense/mvc/app/controllers/OPNsense/Kea/Api/LeasesController.php
+1-11 files

OPNSense/core 0c6809fsrc/opnsense/scripts/kea del_kea_leases.py

Add small example to arguments in del_kea_leases
DeltaFile
+2-2src/opnsense/scripts/kea/del_kea_leases.py
+2-21 files

OPNSense/core 6dee002src/opnsense/mvc/app/views/OPNsense/Kea leases6.volt leases4.volt

Small style changes and fixing lease endpoints
DeltaFile
+2-14src/opnsense/mvc/app/views/OPNsense/Kea/leases6.volt
+2-12src/opnsense/mvc/app/views/OPNsense/Kea/leases4.volt
+4-262 files

OPNSense/core 615e87fsrc/opnsense/mvc/app/controllers/OPNsense/Kea/Api LeasesController.php, src/opnsense/scripts/kea del_kea_leases.py

Turn lease delete into a one to one operation, requiring one IP and optionally one type. Since multiple parameters are required for IPv6 leases we cannot really batch or mix IP address families anymore.
DeltaFile
+13-21src/opnsense/scripts/kea/del_kea_leases.py
+5-12src/opnsense/mvc/app/controllers/OPNsense/Kea/Api/LeasesController.php
+18-332 files

OPNSense/plugins 0a45144security/netbird Makefile, security/netbird/src/opnsense/mvc/app/controllers/OPNsense/Netbird/Api AuthenticationController.php

netbird: add option/auth banner (#5404)
DeltaFile
+34-20security/netbird/src/opnsense/mvc/app/views/OPNsense/Netbird/authentication.volt
+10-12security/netbird/src/opnsense/mvc/app/controllers/OPNsense/Netbird/Api/AuthenticationController.php
+8-0security/netbird/src/opnsense/mvc/app/controllers/OPNsense/Netbird/forms/settings.xml
+2-3security/netbird/src/opnsense/mvc/app/models/OPNsense/Netbird/Authentication.xml
+5-0security/netbird/src/opnsense/mvc/app/models/OPNsense/Netbird/Settings.xml
+1-1security/netbird/Makefile
+60-362 files not shown
+62-368 files

OPNSense/core 8215b47src/opnsense/mvc/app/views/OPNsense/Kea leases6.volt leases4.volt

remove data-row-id
DeltaFile
+2-1src/opnsense/mvc/app/views/OPNsense/Kea/leases6.volt
+0-1src/opnsense/mvc/app/views/OPNsense/Kea/leases4.volt
+2-22 files

OPNSense/core 3755c81src/opnsense/mvc/app/views/OPNsense/Kea leases4.volt, src/opnsense/service/conf/actions.d actions_kea.conf

We also have to override the IPv4 lease commands now sadly
DeltaFile
+44-1src/opnsense/mvc/app/views/OPNsense/Kea/leases4.volt
+1-1src/opnsense/service/conf/actions.d/actions_kea.conf
+45-22 files

OPNSense/core 05eb36fsrc/opnsense/mvc/app/controllers/OPNsense/Kea/Api LeasesController.php, src/opnsense/mvc/app/views/OPNsense/Kea leases6.volt

Override default delete and delete-selected since we have to use multiple POST parameters now, as we need address and type per lease
DeltaFile
+45-2src/opnsense/mvc/app/views/OPNsense/Kea/leases6.volt
+13-4src/opnsense/mvc/app/controllers/OPNsense/Kea/Api/LeasesController.php
+58-62 files

OPNSense/core 25b8045. plist, src/opnsense/mvc/app/models/OPNsense/Base BaseModel.php

mvc: fix validation via string cast, mostly for UpdateOnlyTextField

PR: https://github.com/opnsense/plugins/pull/5404
DeltaFile
+64-0src/opnsense/mvc/tests/app/models/OPNsense/Base/FieldTypes/UpdateOnlyTextFieldTest.php
+27-26src/opnsense/mvc/tests/app/models/OPNsense/Base/FieldTypes/Field_Framework_TestCase.php
+2-2src/opnsense/mvc/app/models/OPNsense/Base/BaseModel.php
+1-0plist
+94-284 files

OPNSense/core 825836fsrc/etc/inc interfaces.inc

interfaces: small cleanups in previous as a starting point
DeltaFile
+10-19src/etc/inc/interfaces.inc
+10-191 files

OPNSense/core e16fd7fsrc/etc/inc interfaces.inc

Add HA/CARP safety for PPP link startup

Implement HA/CARP safety checks for PPP links to prevent startup if no parent interface is CARP MASTER when 'Disconnect dialup interfaces' is enabled.
DeltaFile
+33-0src/etc/inc/interfaces.inc
+33-01 files

OPNSense/core e5db8bbsrc/etc/inc interfaces.inc

Cleanup HA/CARP safety checks for PPP links patch

Proper indentation and better comment for HA/CARP safety checks for PPP links
DeltaFile
+23-23src/etc/inc/interfaces.inc
+23-231 files

OPNSense/core 9b21321src/opnsense/mvc/app/views/layout_partials base_apply_button.volt, src/opnsense/www/js opnsense_bootgrid.js opnsense_ui.js

ui: use space in apply box for the apply reminder (#10103)

It's a good way to use existing space and move the
message to where it matters most -- the apply button
itself. This also matches the legacy apply box style.
DeltaFile
+13-17src/opnsense/mvc/app/views/layout_partials/base_apply_button.volt
+1-19src/opnsense/www/js/opnsense_bootgrid.js
+2-0src/opnsense/www/js/opnsense_ui.js
+16-363 files

OPNSense/core 36f2fb1src/opnsense/scripts/kea del_kea_leases.py, src/opnsense/service/conf/actions.d actions_kea.conf

Ensure strict parameter usage
DeltaFile
+2-2src/opnsense/scripts/kea/del_kea_leases.py
+1-1src/opnsense/service/conf/actions.d/actions_kea.conf
+3-32 files

OPNSense/core 309c8dcsrc/opnsense/mvc/app/controllers/OPNsense/Kea/Api LeasesController.php

Add type to LeasesController delLeaseAction and escape configdpRun safely
DeltaFile
+2-2src/opnsense/mvc/app/controllers/OPNsense/Kea/Api/LeasesController.php
+2-21 files

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

devel/grid_example: add option field to showcase grid %field magic

The form %field magic works here too but let's not complicate an
example controller with it.

PR: https://github.com/opnsense/core/issues/10225
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 825702edevel/helloworld Makefile, devel/helloworld/src/opnsense/mvc/app/controllers/OPNsense/HelloWorld/Api SettingsController.php

devel/helloworld: add dynamic hint usage

PR: https://github.com/opnsense/core/issues/10225
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/core 34db4ecsrc/opnsense/mvc/app/controllers/OPNsense/Dnsmasq/Api SettingsController.php, src/opnsense/mvc/app/controllers/OPNsense/Kea/Api Dhcpv4Controller.php Dhcpv6Controller.php

mvc: generalize placeholders between controllers and JS for #10225
DeltaFile
+0-8src/opnsense/mvc/app/views/OPNsense/Dnsmasq/settings.volt
+0-8src/opnsense/mvc/app/views/OPNsense/Kea/dhcpv4.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
+2-1src/opnsense/mvc/app/controllers/OPNsense/Dnsmasq/Api/SettingsController.php
+8-271 files not shown
+11-277 files

OPNSense/core d46112esrc/opnsense/mvc/app/views/layout_partials form_input_tr.volt

mvc: volt form template, add type_formatter keyword which was implemented in https://github.com/opnsense/core/commit/528474372b373c720962e5efaad3c7cf6773917a
DeltaFile
+5-3src/opnsense/mvc/app/views/layout_partials/form_input_tr.volt
+5-31 files

OPNSense/core 5217772src/opnsense/mvc/app/controllers/OPNsense/Dnsmasq/Api SettingsController.php, src/opnsense/mvc/app/controllers/OPNsense/Kea/Api Dhcpv4Controller.php Dhcpv6Controller.php

mvc: generalize placeholders between controllers and JS for #10225
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
+2-1src/opnsense/mvc/app/controllers/OPNsense/Dnsmasq/Api/SettingsController.php
+8-271 files not shown
+11-277 files

OPNSense/core 54b054dsrc/opnsense/mvc/app/views/OPNsense/Kea leases6.volt, src/opnsense/scripts/kea del_kea_leases.py

Add IPv6 lease type to delete script so either IA_NA and IA_PD can be targeted
DeltaFile
+13-3src/opnsense/scripts/kea/del_kea_leases.py
+2-2src/opnsense/mvc/app/views/OPNsense/Kea/leases6.volt
+1-1src/opnsense/service/conf/actions.d/actions_kea.conf
+16-63 files

OPNSense/core 1ab9f54src/opnsense/mvc/app/views/OPNsense/Kea leases6.volt, src/opnsense/scripts/kea get_kea_leases.py

Add type to leases, is necessary to target certain leases like IA_PD for deletion
DeltaFile
+1-0src/opnsense/mvc/app/views/OPNsense/Kea/leases6.volt
+1-0src/opnsense/scripts/kea/get_kea_leases.py
+2-02 files

OPNSense/ports c593061security/openvpn/files patch-inotify

security/openvpn: patch was released
DeltaFile
+0-11security/openvpn/files/patch-inotify
+0-111 files

OPNSense/core 3d69669src/opnsense/mvc/app/controllers/OPNsense/Firewall/forms dialogDNatRule.xml

firewall: clarify redirect target port help text (#10223)
DeltaFile
+1-1src/opnsense/mvc/app/controllers/OPNsense/Firewall/forms/dialogDNatRule.xml
+1-11 files

OPNSense/core ce0d656src/opnsense/mvc/app/controllers/OPNsense/Kea/forms generalSettings6.xml, src/opnsense/mvc/app/models/OPNsense/Kea KeaDhcpv6.xml KeaDhcpv6.php

Services: Kea DHCPv6: Allow customizing mac_sources and change default to ipv6-link-local (#10220)

* Services: Kea DHCPv6: Allow customizing mac_sources and change default to ipv6-link-local since it seems to align best with the expectations of our setup, especially taking PD route installation via kea_prefix_watcher.py into account.

Per default KEA would derive MAC addresses of clients from the DUID, but these do not take multiple interfaces into account. This means, the route target could be the wrong MAC address. The new default ipv6-link-local takes the EUI-64 assumption of the link-local address, this seems to be better suited as our default.

Two methods have been skipped since they are not implemented by KEA upstream, raw and subscriber-id.

* Specify this influences MAC based reservations. Since blast radius is larger make it non-advanced.
DeltaFile
+14-1src/opnsense/mvc/app/models/OPNsense/Kea/KeaDhcpv6.xml
+6-0src/opnsense/mvc/app/controllers/OPNsense/Kea/forms/generalSettings6.xml
+1-0src/opnsense/mvc/app/models/OPNsense/Kea/KeaDhcpv6.php
+21-13 files

OPNSense/core 2e61d11src/opnsense/mvc/app/controllers/OPNsense/Kea/forms generalSettings6.xml

Specify this influences MAC based reservations. Since blast radius is larger make it non-advanced
DeltaFile
+1-2src/opnsense/mvc/app/controllers/OPNsense/Kea/forms/generalSettings6.xml
+1-21 files

OPNSense/core 388cf99src/opnsense/mvc/app/controllers/OPNsense/Kea/forms generalSettings6.xml, src/opnsense/mvc/app/models/OPNsense/Kea KeaDhcpv6.xml KeaDhcpv6.php

Services: Kea DHCPv6: Allow customizing mac_sources and change default to ipv6-link-local since it seems to align best with the expectations of our setup, especially taking PD route installation via kea_prefix_watcher.py into account.

Per default KEA would derive MAC addresses of clients from the DUID, but these do not take multiple interfaces into account. This means, the route target could be the wrong MAC address. The new default ipv6-link-local takes the EUI-64 assumption of the link-local address, this seems to be better suited as our default.

Two methods have been skipped since they are not implemented by KEA upstream, raw and subscriber-id.
DeltaFile
+14-1src/opnsense/mvc/app/models/OPNsense/Kea/KeaDhcpv6.xml
+7-0src/opnsense/mvc/app/controllers/OPNsense/Kea/forms/generalSettings6.xml
+1-0src/opnsense/mvc/app/models/OPNsense/Kea/KeaDhcpv6.php
+22-13 files