OPNSense/core 99aa4bfsrc/opnsense/scripts/kea kea_prefix_watcher.py

Services: Kea DHCPv6: improve kea_prefix_watcher.py accuracy via both interface and mac address key(#10685)

Resolve the lease subnet-id to its configured interface and key Hostwatch or
NDP lookups by interface and MAC.

Hostwatch or NDP may report the same MAC on multiple interfaces, for example
on a bridge and its member. Previously the last matching MAC entry could
select the wrong interface and cause route installation to fail.

The link-local address and scope still come from Hostwatch or NDP. Multiple
LLAs for the same interface/MAC remain last-match-wins, as any observed LLA for
an interface/MAC key should be an eligible next hop target.
DeltaFile
+19-8src/opnsense/scripts/kea/kea_prefix_watcher.py
+19-81 files

OPNSense/core a8debefsrc/opnsense/scripts/kea kea_prefix_watcher.py

Improve the syslog warning a bit
DeltaFile
+1-1src/opnsense/scripts/kea/kea_prefix_watcher.py
+1-11 files

OPNSense/core 5fe16adsrc/opnsense/mvc/app/controllers/OPNsense/Interfaces/Api OverviewController.php, src/opnsense/mvc/app/views/OPNsense/Interface overview.volt

Interfaces: Overview: Add separate link types for IPv4 and IPv6 (#10676)
DeltaFile
+6-8src/opnsense/mvc/app/controllers/OPNsense/Interfaces/Api/OverviewController.php
+4-3src/opnsense/mvc/app/views/OPNsense/Interface/overview.volt
+10-112 files

OPNSense/core 613374csrc/opnsense/scripts/kea kea_prefix_watcher.py

Services: Kea DHCPv6: improve kea_prefix_watcher.py accuracy by keying by both interface and mac address when querying hostwatch database
DeltaFile
+19-8src/opnsense/scripts/kea/kea_prefix_watcher.py
+19-81 files

OPNSense/core 4527d64src/opnsense/service/modules template.py

configd: sanitize template filename replacements
DeltaFile
+3-3src/opnsense/service/modules/template.py
+3-31 files

OPNSense/core 4720546src/etc/inc/plugins.inc.d dhcrelay.inc, src/opnsense/mvc/app/controllers/OPNsense/DHCRelay/Api SettingsController.php

Add options to dhcrelay for circuit_id and remote_id (#10563)

* Add options to dhcrelay for circuit_id and remote_id

* Make circuit_id and remote_id text fields. Don't apply circuit_id on dhcrelay6

* Refactor to use isEmpty instead of empty(getValue) in dhcrelay. Change fields to StrictTextField
DeltaFile
+12-0src/opnsense/mvc/app/controllers/OPNsense/DHCRelay/forms/dialogRelay.xml
+10-0src/etc/inc/plugins.inc.d/dhcrelay.inc
+1-1src/opnsense/mvc/app/controllers/OPNsense/DHCRelay/Api/SettingsController.php
+2-0src/opnsense/mvc/app/models/OPNsense/DHCRelay/DHCRelay.xml
+25-14 files

OPNSense/core 769fc48src/opnsense/mvc/app/controllers/OPNsense/Interfaces/Api OverviewController.php, src/opnsense/mvc/app/views/OPNsense/Interface overview.volt

Interfaces: Overview: Add separate link types for IPv4 and IPv6
DeltaFile
+6-8src/opnsense/mvc/app/controllers/OPNsense/Interfaces/Api/OverviewController.php
+4-3src/opnsense/mvc/app/views/OPNsense/Interface/overview.volt
+10-112 files

OPNSense/core c8bd84csrc/opnsense/mvc/app/views/layout_partials base_bootgrid_table.volt, src/opnsense/mvc/app/views/layouts default.volt

ui: tabulator: Add _showMaximized() modal, minor improvements

move html generation to javascript library, align model a bit differently and always stretch to page height to remove distractions while reading.
includes some smaller fixes for missing tooltips and "hanging" tooltips as well.
DeltaFile
+38-16src/opnsense/www/js/opnsense_bootgrid.js
+0-16src/opnsense/mvc/app/views/layout_partials/base_bootgrid_table.volt
+3-1src/opnsense/mvc/app/views/layouts/default.volt
+2-1src/opnsense/www/css/opnsense-bootgrid-layout.css
+43-344 files

OPNSense/core 704351esrc/opnsense/mvc/app/controllers/OPNsense/Kea/Api Dhcpv6Controller.php Dhcpv4Controller.php, src/opnsense/mvc/app/controllers/OPNsense/Kea/forms dialogSubnet6.xml dialogSubnet4.xml

Services: Kea DHCPv4/6: Store subnet IDs inside the model so they cannot shift during config generation (#10664)
DeltaFile
+12-1src/opnsense/mvc/app/models/OPNsense/Kea/KeaDhcpv6.xml
+12-1src/opnsense/mvc/app/models/OPNsense/Kea/KeaDhcpv4.xml
+12-1src/opnsense/mvc/app/controllers/OPNsense/Kea/Api/Dhcpv6Controller.php
+12-1src/opnsense/mvc/app/controllers/OPNsense/Kea/Api/Dhcpv4Controller.php
+10-0src/opnsense/mvc/app/controllers/OPNsense/Kea/forms/dialogSubnet6.xml
+10-0src/opnsense/mvc/app/controllers/OPNsense/Kea/forms/dialogSubnet4.xml
+68-42 files not shown
+70-88 files

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

Firewall: NAT: Source NAT: scope get action to general settings (#10674)
DeltaFile
+1-2src/opnsense/mvc/app/controllers/OPNsense/Firewall/Api/SourceNatController.php
+1-21 files

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

Firewall: NAT: Source NAT: scope get action to general settings
DeltaFile
+1-2src/opnsense/mvc/app/controllers/OPNsense/Firewall/Api/SourceNatController.php
+1-21 files

OPNSense/core 1cf8eb6. plist

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

OPNSense/core 4460674src/opnsense/mvc/app/views/layouts default.volt, src/opnsense/www/themes/opnsense-auto/build/js theme.js

theme: opnsense-auto - prevent "blinking" by hiding the contents while loading. closes https://github.com/opnsense/core/pull/10377

Move theme.js slightly up in the loading order, although technically, the visibility:hidden should do the trick anyway when still rendering <head/>
DeltaFile
+4-3src/www/head.inc
+7-0src/opnsense/www/themes/opnsense-auto/build/js/theme.js
+3-3src/opnsense/mvc/app/views/layouts/default.volt
+14-63 files

OPNSense/core e1e4258src/opnsense/www/themes/opnsense/build/css tokenize2.css

themes: opnsense-auto - add tokenize2.css in standard theme to ensure selection in automatic theme. closes https://github.com/opnsense/core/issues/10545

If a themed file is not available in the standard theme, the dark one won't be able to replace it.
DeltaFile
+167-0src/opnsense/www/themes/opnsense/build/css/tokenize2.css
+167-01 files

OPNSense/core 59cc79esrc/opnsense/mvc/app/controllers/OPNsense/Core/Api MenuController.php, src/opnsense/mvc/app/controllers/OPNsense/Firewall/forms dialogFilterRule.xml

Merge remote-tracking branch 'origin/master' into tabulator-max-grid-poc
DeltaFile
+152-0src/opnsense/www/js/opnsense_favorites.js
+51-0src/opnsense/mvc/app/models/OPNsense/Core/Menu/Menu.php
+45-1src/opnsense/mvc/app/controllers/OPNsense/Core/Api/MenuController.php
+26-0src/opnsense/mvc/app/models/OPNsense/Firewall/Filter.xml
+26-0src/opnsense/mvc/app/models/OPNsense/Base/Menu/MenuSystem.php
+25-0src/opnsense/mvc/app/controllers/OPNsense/Firewall/forms/dialogFilterRule.xml
+325-128 files not shown
+463-3634 files

OPNSense/core 0073838src/opnsense/mvc/app/controllers/OPNsense/Base ControllerBase.php, src/opnsense/mvc/app/controllers/OPNsense/Core/Api MenuController.php

menu: add Favorites section (#10665)

* menu: add Favorites section

Use MenuContainer for menu injection, linkclass for click delegation, and JS wrapper for breadcrumb labelling

* menu: add Favorites section - minor cleanups for https://github.com/opnsense/core/pull/10033

* menu: add Favorites section - fix const $before --> let $before

* menu: add Favorites section - fix some const's in javascript

* menu: add Favorites section - minor cleanups

---------

Co-authored-by: Greelan <53196309+Greelan at users.noreply.github.com>
DeltaFile
+152-0src/opnsense/www/js/opnsense_favorites.js
+51-0src/opnsense/mvc/app/models/OPNsense/Core/Menu/Menu.php
+45-1src/opnsense/mvc/app/controllers/OPNsense/Core/Api/MenuController.php
+26-0src/opnsense/mvc/app/models/OPNsense/Base/Menu/MenuSystem.php
+22-0src/opnsense/www/css/opnsense-favorites.css
+11-1src/opnsense/mvc/app/controllers/OPNsense/Base/ControllerBase.php
+307-27 files not shown
+336-813 files

OPNSense/core 9301a16src/opnsense/www/js opnsense_favorites.js, src/www fbegin.inc

menu: add Favorites section - minor cleanups
DeltaFile
+1-1src/www/fbegin.inc
+1-1src/opnsense/www/js/opnsense_favorites.js
+2-22 files

OPNSense/core 9666eccsrc/opnsense/www/js opnsense_favorites.js

menu: add Favorites section - fix some const's in javascript
DeltaFile
+2-2src/opnsense/www/js/opnsense_favorites.js
+2-21 files

OPNSense/core ac2ff8csrc/opnsense/mvc/app/controllers/OPNsense/Base ControllerBase.php, src/opnsense/mvc/app/controllers/OPNsense/Core/Api MenuController.php

menu: add Favorites section - minor cleanups for https://github.com/opnsense/core/pull/10033
DeltaFile
+0-115src/opnsense/mvc/app/models/OPNsense/Core/Favorites.php
+25-25src/opnsense/www/js/opnsense_favorites.js
+15-13src/opnsense/mvc/app/controllers/OPNsense/Core/Api/MenuController.php
+12-6src/opnsense/mvc/app/models/OPNsense/Core/Menu/Menu.php
+4-2src/opnsense/mvc/app/controllers/OPNsense/Base/ControllerBase.php
+3-2src/www/head.inc
+59-1633 files not shown
+60-1669 files

OPNSense/core cdf7d54src/opnsense/mvc/app/controllers/OPNsense/Core/Api MenuController.php, src/opnsense/mvc/app/models/OPNsense/Base/Menu MenuSystem.php

menu: add Favorites section

Use MenuContainer for menu injection, linkclass for click delegation, and JS wrapper for breadcrumb labelling
DeltaFile
+152-0src/opnsense/www/js/opnsense_favorites.js
+115-0src/opnsense/mvc/app/models/OPNsense/Core/Favorites.php
+45-0src/opnsense/mvc/app/models/OPNsense/Core/Menu/Menu.php
+43-1src/opnsense/mvc/app/controllers/OPNsense/Core/Api/MenuController.php
+26-0src/opnsense/mvc/app/models/OPNsense/Base/Menu/MenuSystem.php
+22-0src/opnsense/www/css/opnsense-favorites.css
+403-18 files not shown
+445-1114 files

OPNSense/core f36b0dfsrc/opnsense/www/js opnsense_favorites.js

menu: add Favorites section - fix const $before --> let $before
DeltaFile
+1-1src/opnsense/www/js/opnsense_favorites.js
+1-11 files

OPNSense/core afffcccsrc/opnsense/www/js opnsense_favorites.js, src/www fbegin.inc

menu: add Favorites section - minor cleanups
DeltaFile
+1-1src/www/fbegin.inc
+1-1src/opnsense/www/js/opnsense_favorites.js
+2-22 files

OPNSense/core f5f0696src/etc/inc interfaces.inc, src/opnsense/mvc/app/controllers/OPNsense/Interfaces/forms dialogGif.xml

Interfaces: Devices: Gif: add noclamp flag (#10635)
DeltaFile
+11-0src/opnsense/mvc/app/controllers/OPNsense/Interfaces/forms/dialogGif.xml
+3-1src/etc/inc/interfaces.inc
+1-0src/opnsense/mvc/app/models/OPNsense/Interfaces/Gif.xml
+15-13 files

OPNSense/core 7a36a5csrc/opnsense/scripts/interfaces reconfigure_gifs.php

Interfaces: Devices: Gif: Fix typo in reconfigure_gifs, variable gre should be gif (#10634)
DeltaFile
+4-4src/opnsense/scripts/interfaces/reconfigure_gifs.php
+4-41 files

OPNSense/core 80f4affsrc/opnsense/mvc/app/controllers/OPNsense/Firewall/forms dialogFilterRule.xml, src/opnsense/mvc/app/library/OPNsense/Firewall FilterRule.php

Firewall: Rules: Add max-pkt-rate (Rate limiting) (#10629)

* Firewall: Filter: Add max-pkt-rate

* Move dialog options, they dont fit with the stateful firewall options

* Give it an own Rate limiting header, it doesnt semantically fit anywhere else
DeltaFile
+26-0src/opnsense/mvc/app/models/OPNsense/Firewall/Filter.xml
+25-0src/opnsense/mvc/app/controllers/OPNsense/Firewall/forms/dialogFilterRule.xml
+6-0src/opnsense/mvc/app/library/OPNsense/Firewall/FilterRule.php
+57-03 files

OPNSense/core 7a360eesrc/opnsense/mvc/app/models/OPNsense/Kea KeaDhcpv6.xml KeaDhcpv4.xml

Using a default is wrong here, AutoNumberField applies its default differently
DeltaFile
+0-1src/opnsense/mvc/app/models/OPNsense/Kea/KeaDhcpv6.xml
+0-1src/opnsense/mvc/app/models/OPNsense/Kea/KeaDhcpv4.xml
+0-22 files

OPNSense/core 15553a5src/opnsense/mvc/app/controllers/OPNsense/Interfaces/Api VipSettingsController.php

Interfaces: Virtual IPs: Settings - make sure validations are triggered when no subnet is specified and prevent adding todo entries in that case, closes https://github.com/opnsense/core/pull/10302
DeltaFile
+11-1src/opnsense/mvc/app/controllers/OPNsense/Interfaces/Api/VipSettingsController.php
+11-11 files

OPNSense/core 2265ae4src/opnsense/www/js opnsense_widget_manager.js, src/opnsense/www/js/widgets KeaLeases.js Interfaces.js

dashboard: fix JavaScript bugs in dashboard widget code (#10460)

* dashboard: fix JavaScript operator precedence bugs in widget logic

* dashboard: fix additional JavaScript bugs in widget code
DeltaFile
+3-3src/opnsense/www/js/widgets/Firewall.js
+3-3src/opnsense/www/js/widgets/BaseWidget.js
+2-1src/opnsense/www/js/widgets/OpenVPNClients.js
+1-1src/opnsense/www/js/widgets/KeaLeases.js
+1-1src/opnsense/www/js/widgets/Interfaces.js
+1-1src/opnsense/www/js/opnsense_widget_manager.js
+11-102 files not shown
+13-128 files

OPNSense/core 21ccf46src/opnsense/mvc/app/controllers/OPNsense/Base ControllerBase.php

mvc: translate grid view labels - closes https://github.com/opnsense/core/pull/10537
DeltaFile
+2-0src/opnsense/mvc/app/controllers/OPNsense/Base/ControllerBase.php
+2-01 files

OPNSense/core 29532f1src/opnsense/mvc/app/controllers/OPNsense/Kea/Api Dhcpv6Controller.php Dhcpv4Controller.php

Offer a unique subnet_id for copy mode as well to help UX
DeltaFile
+12-1src/opnsense/mvc/app/controllers/OPNsense/Kea/Api/Dhcpv6Controller.php
+12-1src/opnsense/mvc/app/controllers/OPNsense/Kea/Api/Dhcpv4Controller.php
+24-22 files