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

Wrap socket connection into try/finally
DeltaFile
+15-12src/opnsense/scripts/kea/del_kea_leases.py
+15-12src/opnsense/scripts/kea/get_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 KeaDhcpv4.xml KeaDhcpv6.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/KeaDhcpv4.xml
+119-0src/opnsense/mvc/app/models/OPNsense/Kea/KeaDhcpv6.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/KeaDhcpv4.xml
+65-0src/opnsense/mvc/app/models/OPNsense/Kea/KeaDhcpv6.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 leases4.volt leases6.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/leases4.volt
+10-3src/opnsense/mvc/app/views/OPNsense/Kea/leases6.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

OPNSense/core 2edab3dsrc/opnsense/www/js opnsense_bootgrid.js, src/opnsense/www/themes/opnsense/build/css main.css

mvc: anchor base_apply_button on page-content-head, adjust padding for content-box-main
DeltaFile
+8-3src/opnsense/www/js/opnsense_bootgrid.js
+0-4src/opnsense/www/themes/opnsense/build/css/main.css
+8-72 files

OPNSense/core 5694fd1src/opnsense/scripts/kea del_kea_leases.py

Rename s to sock for better readability
DeltaFile
+5-6src/opnsense/scripts/kea/del_kea_leases.py
+5-61 files

OPNSense/core 6974526src/opnsense/mvc/app/controllers/OPNsense/CaptivePortal/Api AccessController.php

fix: enforce POST-only on captiveportal logoffAction (#9989)

(cherry picked from commit 2346d3d9ae2fe3a32d40e94463fc92f6213c91a3)
DeltaFile
+22-19src/opnsense/mvc/app/controllers/OPNsense/CaptivePortal/Api/AccessController.php
+22-191 files

OPNSense/core 9e4c8aasrc/opnsense/scripts/kea get_kea_leases.py

Query kea-ctrl-socket for existing leases since the in-memory database is mutated when using lease-del, the csv files still show leases for a while that do not exist in memory anymore until a cleanup happens periodically.
DeltaFile
+36-4src/opnsense/scripts/kea/get_kea_leases.py
+36-41 files

OPNSense/core 4d4992bsrc/opnsense/mvc/app/library/OPNsense/Core Shell.php, src/opnsense/mvc/tests/app/library/OPNsense/Core ShellTest.php

mvc: Shell: rewrite exec_safe() to avoid vsprintf() complications; closes #9703

Only support %s and %% using preg_replace_callback() and throw
3 distinct TypeError cases making sure the resulting command is
the dummy command then.

We're not overly interested in how well escapeshellarg() works,
but we ensure it's being called always.

(cherry picked from commit b25bdee3b4d76b4e722d30fadd3591d90e30b50c)
(cherry picked from commit aef0172f5596683f4dba6a805f80b85116653dff)
DeltaFile
+18-7src/opnsense/mvc/app/library/OPNsense/Core/Shell.php
+7-7src/opnsense/mvc/tests/app/library/OPNsense/Core/ShellTest.php
+25-142 files

OPNSense/core 2439ce0src/etc/inc interfaces.inc

backend: use config_read_array() non-insert mode mode iteration of virtual IPs

(cherry picked from commit fdbd32be08fb31b9cc10bb6cf11833f25ea85e9a)
DeltaFile
+18-29src/etc/inc/interfaces.inc
+18-291 files

OPNSense/core 03c993csrc/www interfaces.php

interfaces: use config_read_array() for ca/cert iteration

(cherry picked from commit 0e7e4a5c46b78d42811f176c8c77d6854c6d0897)
DeltaFile
+6-9src/www/interfaces.php
+6-91 files

OPNSense/core e2c9db8src/www firewall_nat_out_edit.php interfaces.php

www: config read safety using feddc1f (#9787)

Increase coverage of the new feature in our legacy www files.

(cherry picked from commit dec48352f902db2e8440201bb7d6e556c122d976)
DeltaFile
+19-22src/www/firewall_nat_out_edit.php
+4-6src/www/interfaces.php
+23-282 files

OPNSense/core 602e148src/opnsense/scripts/interfaces carp_global_status.php carp_set_status.php

interfaces: simplify CARP scripts using config_read_array()
DeltaFile
+3-3src/opnsense/scripts/interfaces/carp_global_status.php
+2-3src/opnsense/scripts/interfaces/carp_set_status.php
+5-62 files

OPNSense/core ec076f6src/opnsense/scripts/auth sync_group.php sync_user.php

system: simplify user/group sync scripts using config_read_array()
DeltaFile
+2-2src/opnsense/scripts/auth/sync_group.php
+2-2src/opnsense/scripts/auth/sync_user.php
+4-42 files

OPNSense/core 658488dsrc/opnsense/mvc/app/views/OPNsense/DHCRelay relay.volt

dhcrelay: fix margin to apply button

(cherry picked from commit d68be8f2c9586ee0ae7728fd7339f96ee7327c4b)
DeltaFile
+1-1src/opnsense/mvc/app/views/OPNsense/DHCRelay/relay.volt
+1-11 files

OPNSense/core b8d71f8src/opnsense/mvc/app/controllers/OPNsense/Dnsmasq/Api LeasesController.php, src/opnsense/mvc/app/views/OPNsense/Dnsmasq leases.volt

Services: Dnsmasq DNS & DHCP: Since client-id is a valid IPv4 reservation type as well, ensure the lease view handles it correctly (#10003)

Remove some of the heuristics with the adding lease button. We cannot assume what the user want, so just offer both mac and hwaddr for any add lease command. The dnsmasq GUI we built has no constraints regarding this, and the application below renders both if given since there is no logic constraint here either.

(cherry picked from commit 15ba56587119e9998ac65829f62592e3e63d2389)
DeltaFile
+16-13src/opnsense/mvc/app/views/OPNsense/Dnsmasq/leases.volt
+15-7src/opnsense/mvc/app/controllers/OPNsense/Dnsmasq/Api/LeasesController.php
+31-202 files