OPNSense/core 265ba25src/opnsense/mvc/app/controllers/OPNsense/Kea/forms dialogSubnet6.xml dialogSubnet4.xml, src/opnsense/mvc/app/models/OPNsense/Kea KeaDhcpv6.php KeaDhcpv4.php

Services: Kea: DDNS: Add subnet specific qualifying suffix and prevent updates if no server is set.
DeltaFile
+12-4src/opnsense/mvc/app/models/OPNsense/Kea/KeaDhcpv6.php
+12-4src/opnsense/mvc/app/models/OPNsense/Kea/KeaDhcpv4.php
+10-1src/opnsense/mvc/app/controllers/OPNsense/Kea/forms/dialogSubnet6.xml
+10-1src/opnsense/mvc/app/controllers/OPNsense/Kea/forms/dialogSubnet4.xml
+1-0src/opnsense/mvc/app/models/OPNsense/Kea/KeaDhcpv6.xml
+1-0src/opnsense/mvc/app/models/OPNsense/Kea/KeaDhcpv4.xml
+46-106 files

OPNSense/core 4be4290src/opnsense/mvc/app/controllers/OPNsense/Kea/forms dialogSubnet6.xml dialogSubnet4.xml, src/opnsense/mvc/app/models/OPNsense/Kea KeaDhcpv4.php KeaDhcpv6.php

Services: Kea: DDNS: Add subnet specific qualifying suffix and prevent updates if no server is set.
DeltaFile
+12-4src/opnsense/mvc/app/models/OPNsense/Kea/KeaDhcpv4.php
+11-2src/opnsense/mvc/app/models/OPNsense/Kea/KeaDhcpv6.php
+10-1src/opnsense/mvc/app/controllers/OPNsense/Kea/forms/dialogSubnet6.xml
+10-1src/opnsense/mvc/app/controllers/OPNsense/Kea/forms/dialogSubnet4.xml
+1-0src/opnsense/mvc/app/models/OPNsense/Kea/KeaDhcpv6.xml
+1-0src/opnsense/mvc/app/models/OPNsense/Kea/KeaDhcpv4.xml
+45-86 files

OPNSense/core 6ec7fc6src/opnsense/mvc/app/controllers/OPNsense/Kea/forms dialogSubnet6.xml dialogSubnet4.xml, src/opnsense/mvc/app/models/OPNsense/Kea KeaDhcpv4.php KeaDhcpv6.php

Services: Kea: DDNS: Add subnet specific qualifying suffix and prevent updates if no server is set.
DeltaFile
+13-4src/opnsense/mvc/app/models/OPNsense/Kea/KeaDhcpv4.php
+12-2src/opnsense/mvc/app/models/OPNsense/Kea/KeaDhcpv6.php
+10-1src/opnsense/mvc/app/controllers/OPNsense/Kea/forms/dialogSubnet6.xml
+10-1src/opnsense/mvc/app/controllers/OPNsense/Kea/forms/dialogSubnet4.xml
+1-0src/opnsense/mvc/app/models/OPNsense/Kea/KeaDhcpv6.xml
+1-0src/opnsense/mvc/app/models/OPNsense/Kea/KeaDhcpv4.xml
+47-86 files

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

kea: improve validation message via @monviech's suggestion
DeltaFile
+2-2src/opnsense/mvc/app/models/OPNsense/Kea/KeaDhcpv4.xml
+2-2src/opnsense/mvc/app/models/OPNsense/Kea/KeaDhcpv6.xml
+4-42 files

OPNSense/core 7933d1bsrc/opnsense/mvc/app/models/OPNsense/Kea KeaDhcpv6.xml KeaDhcpv4.xml

Services: Kea: DHCPv4/v6: Use SetConstraint for match_data to allow 0 as valid value (#10035)
DeltaFile
+1-1src/opnsense/mvc/app/models/OPNsense/Kea/KeaDhcpv6.xml
+1-1src/opnsense/mvc/app/models/OPNsense/Kea/KeaDhcpv4.xml
+2-22 files

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

Services: Kea: DHCPv4/v6: Use SetConstraint for match_data to allow 0 as valid value
DeltaFile
+1-1src/opnsense/mvc/app/models/OPNsense/Kea/KeaDhcpv6.xml
+1-1src/opnsense/mvc/app/models/OPNsense/Kea/KeaDhcpv4.xml
+2-22 files

OPNSense/core 9cf1683src/opnsense/mvc/app/models/OPNsense/Kea KeaDhcpv6.xml KeaDhcpv4.xml

Services: Kea: DHCPv4/v6: Use SetConstraint to allow 0 to count as valid value. Since none of these fields are boolean, change it for all of them.
DeltaFile
+10-10src/opnsense/mvc/app/models/OPNsense/Kea/KeaDhcpv6.xml
+10-10src/opnsense/mvc/app/models/OPNsense/Kea/KeaDhcpv4.xml
+20-202 files

OPNSense/core ae57fadsrc/opnsense/mvc/app/models/OPNsense/Base/Constraints SetConstraint.php

mvc: fix typo in previous
DeltaFile
+1-1src/opnsense/mvc/app/models/OPNsense/Base/Constraints/SetConstraint.php
+1-11 files

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

firmware: adjust help text

PR: https://www.reddit.com/r/opnsense/comments/1s2tb0c/destination_nat_and_new_rules/
DeltaFile
+1-1src/opnsense/mvc/app/controllers/OPNsense/Firewall/forms/dialogDNatRule.xml
+1-11 files

OPNSense/core 292a788. plist, src/opnsense/mvc/app/models/OPNsense/Base/Constraints SetConstraint.php DependConstraint.php

mvc: add SetConstraint for #10029
DeltaFile
+63-0src/opnsense/mvc/app/models/OPNsense/Base/Constraints/SetConstraint.php
+28-29src/opnsense/mvc/app/models/OPNsense/Base/Constraints/DependConstraint.php
+38-0src/opnsense/mvc/tests/app/models/OPNsense/Base/BaseModelTest.php
+20-0src/opnsense/mvc/tests/app/models/OPNsense/Base/BaseModel/TestModel.xml
+5-2src/opnsense/mvc/app/models/OPNsense/Base/Constraints/SetIfConstraint.php
+1-0plist
+155-316 files

OPNSense/core dc04120src/opnsense/mvc/app/controllers/OPNsense/Firewall/Api FilterBaseController.php

firewall: adjust sort order in networks and aliases; closes #10022 #10031

While here also switch to use the cached model exclusively and change the
formatting of address/network shortcuts actually calling them "network".
DeltaFile
+53-29src/opnsense/mvc/app/controllers/OPNsense/Firewall/Api/FilterBaseController.php
+53-291 files

OPNSense/core 4db48f0Mk git.mk

make: unhide PHP error in `vim' target
DeltaFile
+1-1Mk/git.mk
+1-11 files

OPNSense/core 0043122src/opnsense/scripts/kea get_kea_leases.py del_kea_leases.py

Wrap socket connection into try/finally
DeltaFile
+15-12src/opnsense/scripts/kea/get_kea_leases.py
+15-12src/opnsense/scripts/kea/del_kea_leases.py
+30-242 files

OPNSense/core c102de2src/opnsense/mvc/app/library/OPNsense/System/Status CaptivePortalStatus.php, src/opnsense/mvc/app/views/OPNsense/CaptivePortal clients.volt

Revert "Captive portal: IPv6 support (#9745)"

This reverts commit 497ed54fe18c26e6005665ddc2887819dba87f80.

Revert for the time being since 26.1.5 doesn't force a reboot.
DeltaFile
+142-385src/opnsense/scripts/captiveportal/lib/db.py
+56-40src/opnsense/scripts/captiveportal/lib/arp.py
+31-41src/opnsense/scripts/captiveportal/cp-background-process.py
+0-56src/opnsense/mvc/app/library/OPNsense/System/Status/CaptivePortalStatus.php
+8-42src/opnsense/mvc/app/views/OPNsense/CaptivePortal/clients.volt
+11-24src/opnsense/service/templates/OPNsense/Captiveportal/lighttpd-zone.conf
+248-58814 files not shown
+281-71720 files

OPNSense/core 533ba0csrc/opnsense/mvc/app/models/OPNsense/Firewall Alias.php

firewall: rename onetoone and dnat correctly #10024

(cherry picked from commit e0b813e6e0e0df084acbe912cfda7bc305b753f8)
DeltaFile
+7-3src/opnsense/mvc/app/models/OPNsense/Firewall/Alias.php
+7-31 files

OPNSense/core e0b813esrc/opnsense/mvc/app/models/OPNsense/Firewall Alias.php

firewall: rename onetoone and dnat correctly #10024
DeltaFile
+7-3src/opnsense/mvc/app/models/OPNsense/Firewall/Alias.php
+7-31 files

OPNSense/core bc7180asrc/opnsense/mvc/app/controllers/OPNsense/CaptivePortal/Api ServiceController.php

captive portal: no need to bump copyright on removal
DeltaFile
+1-1src/opnsense/mvc/app/controllers/OPNsense/CaptivePortal/Api/ServiceController.php
+1-11 files

OPNSense/core 67296e6src/opnsense/mvc/app/controllers/OPNsense/Kea/forms dialogOption4.xml, src/opnsense/mvc/app/models/OPNsense/Kea KeaDhcpv6.xml KeaDhcpv4.xml

Services: Kea: Add DHCP option support (#9958)

(cherry picked from commit 8350fcb73b9dd44e8b1e00d2ea03ced71e0f71ac)
(cherry picked from commit 5b07e0917484b90d0e9411c5e2c4f8ed5a07b8c7)
(cherry picked from commit 57015c28435e82f41902328dd75e0e8aee7d6f33)
(cherry picked from commit b67a8fdc931936f768b3d6a2eea1e179320f257a)
(cherry picked from commit f8364f426a986f879ecd4c40a0ed4b15f67b5fa9)
(cherry picked from commit 633fbc614965dba5fbc3f6eafdfbb535e03920ef)
(cherry picked from commit 5b4ae2c56e40fb2639a702bb923baf370130517c)
(cherry picked from commit 1f8eedd705e10fe355ae1cabc9faa0d3caa9a598)
DeltaFile
+583-0src/opnsense/mvc/app/models/OPNsense/Kea/FieldTypes/KeaOptionDataField.php
+145-0src/opnsense/mvc/tests/app/models/OPNsense/Kea/FieldTypes/KeaOptionDataFieldTest.php
+119-0src/opnsense/mvc/app/models/OPNsense/Kea/KeaDhcpv6.xml
+119-0src/opnsense/mvc/app/models/OPNsense/Kea/KeaDhcpv4.xml
+73-0src/opnsense/scripts/kea/kea_dhcp_options.py
+71-0src/opnsense/mvc/app/controllers/OPNsense/Kea/forms/dialogOption4.xml
+1,110-014 files not shown
+1,419-320 files

OPNSense/core f951c04src/opnsense/mvc/app/controllers/OPNsense/Kea/Api DdnsController.php, src/opnsense/mvc/app/controllers/OPNsense/Kea/forms dialogSubnet6.xml dialogSubnet4.xml

Services: Kea: Add DDNS support (#9923)

(cherry picked from commit e5b530a67c68c633c46f922c8f9eacca9b1fd641)
(cherry picked from commit 4ecbfd5cde05f88a34bcf5b84af0e874cb105760)
(cherry picked from commit ef7aea0efb1a2c9eb325600edd1a175139f3c1f2)
(cherry picked from commit faf1562b1c2999106d59b016433f4fa80a8ab302)
DeltaFile
+94-0src/opnsense/mvc/app/models/OPNsense/Kea/KeaDdns.php
+65-0src/opnsense/mvc/app/models/OPNsense/Kea/KeaDhcpv6.xml
+65-0src/opnsense/mvc/app/models/OPNsense/Kea/KeaDhcpv4.xml
+50-0src/opnsense/mvc/app/controllers/OPNsense/Kea/forms/dialogSubnet6.xml
+50-0src/opnsense/mvc/app/controllers/OPNsense/Kea/Api/DdnsController.php
+50-0src/opnsense/mvc/app/controllers/OPNsense/Kea/forms/dialogSubnet4.xml
+374-013 files not shown
+526-2619 files

OPNSense/core 497ed54src/opnsense/mvc/app/library/OPNsense/System/Status CaptivePortalStatus.php, src/opnsense/mvc/app/views/OPNsense/CaptivePortal clients.volt

Captive portal: IPv6 support (#9745)

Co-authored-by: Alex Goodkind <alex at goodkind.io>

(cherry picked from commit 369630dbd35c0acacc7384aa997f553fdc6ca91a)
(cherry picked from commit 5b07e0917484b90d0e9411c5e2c4f8ed5a07b8c7)
(cherry picked from commit 2ac18ce7e872dcc3db86412708ec4250e47beeeb)
(cherry picked from commit cff0e8d70a9269d8815a0b3b03a4e4e74bac5408)
(cherry picked from commit 6f00e1e3250e2896b726d0cf5046fd77b71438e4)
DeltaFile
+385-142src/opnsense/scripts/captiveportal/lib/db.py
+40-56src/opnsense/scripts/captiveportal/lib/arp.py
+41-31src/opnsense/scripts/captiveportal/cp-background-process.py
+56-0src/opnsense/mvc/app/library/OPNsense/System/Status/CaptivePortalStatus.php
+42-8src/opnsense/mvc/app/views/OPNsense/CaptivePortal/clients.volt
+24-11src/opnsense/service/templates/OPNsense/Captiveportal/lighttpd-zone.conf
+588-24814 files not shown
+717-28120 files

OPNSense/core 50bf160src/opnsense/scripts/unbound-dnsbl/lib dnsbl.py

unbound: include blocklist length in state change logic, fixes https://github.com/opnsense/core/issues/10001

(cherry picked from commit fd1166b21e49711160a05a69dadd9da2db13e4a0)
DeltaFile
+3-2src/opnsense/scripts/unbound-dnsbl/lib/dnsbl.py
+3-21 files

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

Allow deleting multiple selected leases
DeltaFile
+36-13src/opnsense/scripts/kea/del_kea_leases.py
+14-7src/opnsense/mvc/app/controllers/OPNsense/Kea/Api/LeasesController.php
+10-3src/opnsense/mvc/app/views/OPNsense/Kea/leases6.volt
+10-3src/opnsense/mvc/app/views/OPNsense/Kea/leases4.volt
+70-264 files

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

Wire delete action into standard bootgrid command
DeltaFile
+8-22src/opnsense/mvc/app/views/OPNsense/Kea/leases4.volt
+8-22src/opnsense/mvc/app/views/OPNsense/Kea/leases6.volt
+1-1src/opnsense/mvc/app/controllers/OPNsense/Kea/Api/LeasesController.php
+17-453 files

OPNSense/core a528dd8src/opnsense/mvc/app/views/OPNsense/Kea leases6.volt

Fix copy paste error in view from v4 to v6
DeltaFile
+10-1src/opnsense/mvc/app/views/OPNsense/Kea/leases6.volt
+10-11 files

OPNSense/core f753abcsrc/opnsense/scripts/kea get_kea_leases.py

Simplify diff
DeltaFile
+0-2src/opnsense/scripts/kea/get_kea_leases.py
+0-21 files

OPNSense/core 2c9b906src/opnsense/mvc/app/views/OPNsense/Kea leases4.volt leases6.volt

Forgot to declare button correctly after renaming it
DeltaFile
+1-1src/opnsense/mvc/app/views/OPNsense/Kea/leases4.volt
+1-1src/opnsense/mvc/app/views/OPNsense/Kea/leases6.volt
+2-22 files

OPNSense/core 3f01ab8src/opnsense/scripts/kea get_kea_leases.py

Improve lease collection via socket, detect automatically if socket is unavailable and fall back to cvs parsing
DeltaFile
+77-37src/opnsense/scripts/kea/get_kea_leases.py
+77-371 files

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

Improve detection if kea control agent socket is not running correctly
DeltaFile
+4-3src/opnsense/mvc/app/controllers/OPNsense/Kea/Api/LeasesController.php
+4-31 files

OPNSense/core 8738c55src/opnsense/mvc/app/views/OPNsense/Kea leases4.volt leases6.volt

Adjust deleteBtn event binding
DeltaFile
+27-28src/opnsense/mvc/app/views/OPNsense/Kea/leases4.volt
+27-28src/opnsense/mvc/app/views/OPNsense/Kea/leases6.volt
+54-562 files

OPNSense/core 92fa229src/opnsense/www/themes/opnsense-dark/build/css main.css

mvc: missed a spot in 2edab3d, no ref in the sass files either
DeltaFile
+0-4src/opnsense/www/themes/opnsense-dark/build/css/main.css
+0-41 files