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

No we still have do add state into the mix or the route lazy drop will not work anymore
DeltaFile
+2-1src/opnsense/scripts/kea/kea_prefix_watcher.py
+2-11 files

OPNSense/core c049664src/opnsense/scripts/filter/lib/alias __init__.py bgpasn.py

Firewall: Aliases - fix typo in error log (remove url as it has no value anyway) and make parser a bit more resilient by trapping all errors. closes https://github.com/opnsense/core/issues/10168

(cherry picked from commit 5b6913a0df45577f31a6a7777702cf876897c79e)
(cherry picked from commit 4e939d528cc7d4e38c1bfe777b71e1772fcc6edc)
DeltaFile
+3-2src/opnsense/scripts/filter/lib/alias/__init__.py
+1-1src/opnsense/scripts/filter/lib/alias/bgpasn.py
+4-32 files

OPNSense/core 4e939d5src/opnsense/scripts/filter/lib/alias bgpasn.py

firewall: small whitespace issue in prev
DeltaFile
+0-1src/opnsense/scripts/filter/lib/alias/bgpasn.py
+0-11 files

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

Remove duplicate state check, add documentation for the possible states
DeltaFile
+4-3src/opnsense/scripts/kea/kea_prefix_watcher.py
+4-31 files

OPNSense/core 5452c5bsrc/opnsense/mvc/app/models/OPNsense/Base/Menu MenuItem.php

system: minor style update in new menu code
DeltaFile
+5-6src/opnsense/mvc/app/models/OPNsense/Base/Menu/MenuItem.php
+5-61 files

OPNSense/core 8c6b3e0. plist, src/opnsense/scripts/firmware/repos FreeBSD.php OPNsense.php

firmware: moved FreeBSD.php duty to opnsense-update

PR: https://github.com/opnsense/update/commit/aeb88a8fb9
(cherry picked from commit 0175c1e1f0a263fc2ef640f485a60f45d5448b7d)
DeltaFile
+0-33src/opnsense/scripts/firmware/repos/FreeBSD.php
+3-2src/opnsense/scripts/firmware/repos/OPNsense.php
+0-1plist
+3-363 files

OPNSense/core 400dc45src/opnsense/mvc/app/models/OPNsense/Kea KeaDhcpv4.xml KeaDhcpv6.xml

Services: Kea DHCPv4/v6: Remove depend constraint of ddns_reverse_zone (#10182)

Since ddns_forward_zone already depends on ddns_dns_server, and the config generator bails if either of these are empty we do not need to protect ddns_reverse_zone in any specific way right now.

It's a good idea to keep it this way, only populating a reverse zone is very uncommon, and ISC also tethered it to the forward zone being there.

(cherry picked from commit 4a1d6cf0851940f352f6d414240792c9f66be91a)
DeltaFile
+0-9src/opnsense/mvc/app/models/OPNsense/Kea/KeaDhcpv4.xml
+0-9src/opnsense/mvc/app/models/OPNsense/Kea/KeaDhcpv6.xml
+0-182 files

OPNSense/core c82e874src/opnsense/mvc/app/controllers/OPNsense/Routing/Api SettingsController.php

system: small note on legacy bindings
DeltaFile
+1-0src/opnsense/mvc/app/controllers/OPNsense/Routing/Api/SettingsController.php
+1-01 files

OPNSense/core d9e4f1dsrc/opnsense/mvc/app/controllers/OPNsense/Kea/forms dialogSubnet4.xml dialogSubnet6.xml, src/opnsense/mvc/app/models/OPNsense/Kea KeaDdns.php KeaDhcpv6.xml

Kea: DHCPv4/v6: DDNS dns server port can now be specified, default will remain 53 (#10183)

(cherry picked from commit 7eea65839c919cb76a24d7d9d3f48fbfd8befa3d)
DeltaFile
+13-1src/opnsense/mvc/app/controllers/OPNsense/Kea/forms/dialogSubnet4.xml
+13-1src/opnsense/mvc/app/controllers/OPNsense/Kea/forms/dialogSubnet6.xml
+3-2src/opnsense/mvc/app/models/OPNsense/Kea/KeaDdns.php
+1-0src/opnsense/mvc/app/models/OPNsense/Kea/KeaDhcpv6.xml
+1-0src/opnsense/mvc/app/models/OPNsense/Kea/KeaDhcpv4.xml
+31-45 files

OPNSense/core 136c360src/opnsense/mvc/app/controllers/OPNsense/Kea/forms dialogSubnet6.xml dialogSubnet4.xml, src/opnsense/mvc/app/models/OPNsense/Kea KeaDdns.php KeaDhcpv4.xml

Services: Kea DHCPv4/v6: add explicit reverse DDNS zones support (#10123)

---------

Co-authored-by: XtraLarge <20318559+XtraLarge at users.noreply.github.com>
Co-authored-by: Monviech <79600909+Monviech at users.noreply.github.com>
(cherry picked from commit db41dfce2e67be3f6d3fd676ba5a47e7ef182d66)
DeltaFile
+21-0src/opnsense/mvc/app/models/OPNsense/Kea/KeaDdns.php
+12-0src/opnsense/mvc/app/models/OPNsense/Kea/KeaDhcpv4.xml
+12-0src/opnsense/mvc/app/models/OPNsense/Kea/KeaDhcpv6.xml
+9-0src/opnsense/mvc/app/controllers/OPNsense/Kea/forms/dialogSubnet6.xml
+9-0src/opnsense/mvc/app/controllers/OPNsense/Kea/forms/dialogSubnet4.xml
+63-05 files

OPNSense/core 4a2aa5csrc/www system_general.php

system: shorten static route collection code here

(cherry picked from commit 7e000a945439678d25ad769eda546ea24dc319d7)
(cherry picked from commit 9a9b1ae078db7f9c79ee7eab71cfe9c29261cb7f)
DeltaFile
+2-3src/www/system_general.php
+2-31 files

OPNSense/core 6d9ecaesrc/etc/inc util.inc

system: add compatibility layer to future route disable/enable migration
DeltaFile
+7-3src/etc/inc/util.inc
+7-31 files

OPNSense/core 2cd0c29src/etc/inc/plugins.inc.d kea.inc

Add an explicit empty argument for backend parser
DeltaFile
+1-0src/etc/inc/plugins.inc.d/kea.inc
+1-01 files

OPNSense/core 0c853dasrc/etc/inc/plugins.inc.d kea.inc, src/opnsense/scripts/kea kea_prefix_watcher.py

We do not need argparse or parameters anymore
DeltaFile
+1-5src/opnsense/scripts/kea/kea_prefix_watcher.py
+1-2src/etc/inc/plugins.inc.d/kea.inc
+2-72 files

OPNSense/core 7e514fasrc/opnsense/scripts/kea kea_prefix_watcher.py

Time is still needed for polling
DeltaFile
+1-0src/opnsense/scripts/kea/kea_prefix_watcher.py
+1-01 files

OPNSense/core d5d48c4src/etc/inc/plugins.inc.d kea.inc

Make interval parameter explicit
DeltaFile
+1-1src/etc/inc/plugins.inc.d/kea.inc
+1-11 files

OPNSense/core 00052a5src/opnsense/scripts/kea kea_prefix_watcher.py

Use state instead of time based mechanism to decide of lease is still valid
DeltaFile
+4-6src/opnsense/scripts/kea/kea_prefix_watcher.py
+4-61 files

OPNSense/core 3221a9fsrc/etc/inc/plugins.inc.d kea.inc, src/opnsense/mvc/app/models/OPNsense/Kea KeaDhcpv6.php

Services: Kea DHCPv4/v6: Use KeaCtrl python lib for kea_prefix_watcher to switch to polling the socket instead of streaming the csv lease files. The running configuration has structured output, and we stay in memory without needing to read and parse any files. The tradeoff is that we always have to process the full set of leases, yet by using lease6-get-page which is especially made for efficient bulk operations, this should be rather cheap. The main benefit is we always work with structured json data, can filter for ID_PD better, and reprocess the full truth on every poll interval to ensure the whole setup is self-healing
DeltaFile
+53-63src/opnsense/scripts/kea/kea_prefix_watcher.py
+12-0src/opnsense/mvc/app/models/OPNsense/Kea/KeaDhcpv6.php
+2-2src/etc/inc/plugins.inc.d/kea.inc
+67-653 files

OPNSense/core ab7d0b8src/opnsense/www/js/widgets Traffic.js

widgets: fix Traffic.js initialization race condition (#10099)

(cherry picked from commit 8b5a768ec7ae12684aedff279311bc975d6d5982)
DeltaFile
+3-3src/opnsense/www/js/widgets/Traffic.js
+3-31 files

OPNSense/core 1b22d8aMk git.mk defaults.mk

make: add merge target for "community" origin (or upstream equivalent)

(cherry picked from commit 28ba22564be0efd18d2cc787415a5fc7eba97c41)
(cherry picked from commit bf8545b285edab9e618945a00e36f5fc04f9e201)
(cherry picked from commit 469b57f3db2cdb64c5fa2a910144f784e92d6fd9)
DeltaFile
+4-0Mk/git.mk
+1-0Mk/defaults.mk
+5-02 files

OPNSense/core bed8443.github pull_request_template.md

github: add pull request template similar to plugins

(cherry picked from commit a11921609ebb8ac4a6c81221a20c76b9ee784203)
DeltaFile
+30-0.github/pull_request_template.md
+30-01 files

OPNSense/core cc9ebafsrc/opnsense/mvc/app/controllers/OPNsense/Interfaces/Api LaggSettingsController.php GreSettingsController.php

interfaces: fix import use and message style

(cherry picked from commit 2be8c8de5c90bd5bf099521006b5262c44576428)
DeltaFile
+22-24src/opnsense/mvc/app/controllers/OPNsense/Interfaces/Api/LaggSettingsController.php
+3-3src/opnsense/mvc/app/controllers/OPNsense/Interfaces/Api/GreSettingsController.php
+3-3src/opnsense/mvc/app/controllers/OPNsense/Interfaces/Api/GifSettingsController.php
+2-2src/opnsense/mvc/app/controllers/OPNsense/Interfaces/Api/BridgeSettingsController.php
+30-324 files

OPNSense/core 455abf5src/etc/inc/plugins.inc.d radvd.inc

radvd: make a note for dev/debug and closes #10048

Ideally this should be refactored a bit to flush the configuration
regardless of enabled state, but the legacy code has no separate
template flush so it is tied to service (re)start and we are going
to leave it at a note.

(cherry picked from commit fd780bb1dc9e68ae10520491c5e1f5d0e967a256)
DeltaFile
+1-0src/etc/inc/plugins.inc.d/radvd.inc
+1-01 files

OPNSense/core fd9d523. plist, src/opnsense/mvc/app/controllers/OPNsense/Core/Api DashboardController.php

mvc: introduce JSON field type and refactor dashboard to use it, closes https://github.com/opnsense/core/issues/10064

We can use the same fieldtype for the favorites PR (https://github.com/opnsense/core/pull/10033)

(cherry picked from commit 1c2405e48076daae925d92a9109306500fe45835)
DeltaFile
+86-0src/opnsense/mvc/app/models/OPNsense/Base/FieldTypes/JsonField.php
+5-8src/opnsense/mvc/app/controllers/OPNsense/Core/Api/DashboardController.php
+1-1src/opnsense/mvc/app/models/OPNsense/Auth/User.xml
+1-0plist
+93-94 files

OPNSense/core a38db0d. LICENSE, src/opnsense/mvc/app/controllers/OPNsense/Core/Api DashboardController.php

dashboard: add Notepad widget (#9936)

(cherry picked from commit 558bedda0340d6e56a833af8addd3720792e9ff5)
(cherry picked from commit e54c919ea140449a92debcb42753449660acc1ca)
DeltaFile
+73-0src/opnsense/www/js/widgets/Notes.js
+22-3src/opnsense/www/js/opnsense_widget_manager.js
+7-0src/opnsense/www/js/widgets/Metadata/Core.xml
+4-0src/opnsense/www/js/widgets/BaseWidget.js
+1-1src/opnsense/mvc/app/controllers/OPNsense/Core/Api/DashboardController.php
+1-0LICENSE
+108-46 files

OPNSense/core b5cb388src/opnsense/mvc/app/controllers/OPNsense/Cron/Api SettingsController.php, src/opnsense/mvc/app/controllers/OPNsense/Cron/forms dialogEdit.xml

system: improve cron command and parameter escaping #10075

(cherry picked from commit c62ef330b12a67a9f2752d22931ed4cec7899702)
(cherry picked from commit 19eaeb608ed4bc1a63476aa6607248ef29876c49)
(cherry picked from commit 00f63c7a1e82fc7b485d3c5adf240f2510bfe906)
DeltaFile
+21-25src/opnsense/mvc/app/controllers/OPNsense/Cron/Api/SettingsController.php
+18-15src/opnsense/mvc/app/controllers/OPNsense/Cron/forms/dialogEdit.xml
+3-5src/opnsense/service/templates/OPNsense/Cron/user.cron
+1-1src/opnsense/mvc/app/models/OPNsense/Cron/Cron.xml
+43-464 files

OPNSense/core d7b9241src/opnsense/mvc/app/controllers/OPNsense/Routing/forms dialogEditGateway.xml, src/opnsense/mvc/app/models/OPNsense/Routing Gateways.xml

System: Gateways: Configuration: add nosync option

Excluding gateways from synchronization can be useful in cases
where a different default upstream gateway is used to keep
connectivity when failing over in a HA setup.

(cherry picked from commit 8f8a4c8c35de3a1212d5942385a041d0cf1a8273)
DeltaFile
+6-0src/opnsense/mvc/app/controllers/OPNsense/Routing/forms/dialogEditGateway.xml
+1-0src/opnsense/mvc/app/models/OPNsense/Routing/Gateways.xml
+7-02 files

OPNSense/core 59c8a13src/opnsense/mvc/app/models/OPNsense/Kea KeaDhcpv6.php

Services: Kea DHCP: Kea DHCPv6 - fix "Delegated length must be longer than or equal to prefix length" validation, closes https://github.com/opnsense/core/issues/10146

While here, also fix a prefix validation (when x::/64 is specified for example).

(cherry picked from commit 913863a72e5dc0da1fcbffe2cd562bb6e903a454)
DeltaFile
+5-2src/opnsense/mvc/app/models/OPNsense/Kea/KeaDhcpv6.php
+5-21 files

OPNSense/core ada000dsrc/etc/inc system.inc

system: avoid side effect rendering <item/> during console assignment

(cherry picked from commit f18878041bddd1b82431ffaa08b744b25f557127)
DeltaFile
+1-1src/etc/inc/system.inc
+1-11 files

OPNSense/core 8f60614src/www firewall_rule_lookup.php

firewall: clean up unused in rule lookup
DeltaFile
+0-4src/www/firewall_rule_lookup.php
+0-41 files