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

OPNSense/core 58f5031src/opnsense/mvc/app/library/OPNsense/Firewall FilterRule.php

firewall: fix mvc code vs. legacy rules display issues #9931

These functions only pertain to printing automatic rules in the
old GUI so eventually we can all scrap them.

(cherry picked from commit 095a4d53a89b81c1726d1e342d9bb83e1b93e184)
DeltaFile
+6-6src/opnsense/mvc/app/library/OPNsense/Firewall/FilterRule.php
+6-61 files

OPNSense/core 9a50825src/etc/inc filter.lib.inc

firewall: fix port handling in registered NAT rule #9931

(cherry picked from commit 80ed0d8803d8f5b08e007ecd20adad703a342b06)
DeltaFile
+6-6src/etc/inc/filter.lib.inc
+6-61 files

OPNSense/core e7b5ef1Mk git.mk

make: make `vim' target even more lazy

Match the file name without left anchor and look for
a partial directory match if a director was specified.

(cherry picked from commit 286dfcb6a660105ec44955ee8ce8693af7fdb53a)
DeltaFile
+4-2Mk/git.mk
+4-21 files

OPNSense/core 67b9263src/opnsense/mvc/app/controllers/OPNsense/Firewall/Api AliasUtilController.php AliasController.php, src/opnsense/mvc/app/views/OPNsense/Firewall alias.volt alias_util.volt

aliases: add GeoIP database update button and move bogons update button to the same tab (#9974)

(cherry picked from commit 5d0fe33cb0f497c3cbb71dd96f6f0265973112de)
(cherry picked from commit 4bca318dacb9081211b57bb7bdba0e00898b02e7)
(cherry picked from commit 5787989520220c27d45362123c98f5e9bfd27ea6)
DeltaFile
+17-0src/opnsense/mvc/app/views/OPNsense/Firewall/alias.volt
+0-15src/opnsense/mvc/app/controllers/OPNsense/Firewall/Api/AliasUtilController.php
+12-0src/opnsense/mvc/app/controllers/OPNsense/Firewall/Api/AliasController.php
+0-12src/opnsense/mvc/app/views/OPNsense/Firewall/alias_util.volt
+8-0src/opnsense/service/conf/actions.d/actions_filter.conf
+37-275 files

OPNSense/core 52b5e8dsrc/opnsense/scripts/kea del_kea_leases.py

Cannot return in main, use os exit
DeltaFile
+1-1src/opnsense/scripts/kea/del_kea_leases.py
+1-11 files

OPNSense/core 2cf4a92src/etc rc.loader

rc: steer loader ZFS handing during build

(cherry picked from commit 370d04cd0b824d77dd37246a5df02e52b66ba586)
DeltaFile
+7-2src/etc/rc.loader
+7-21 files

OPNSense/core 35653afsrc/opnsense/scripts/kea del_kea_leases.py

Services: Kea: DHCPv4/v6: Add lease delete commands, missed executable bit
DeltaFile
+0-0src/opnsense/scripts/kea/del_kea_leases.py
+0-01 files

OPNSense/core 1ed0c17. plist, src/opnsense/mvc/app/controllers/OPNsense/Kea/Api LeasesController.php

Services: Kea: DHCPv4/v6: Add lease delete commands
DeltaFile
+44-28src/opnsense/mvc/app/views/OPNsense/Kea/leases6.volt
+43-18src/opnsense/mvc/app/views/OPNsense/Kea/leases4.volt
+50-0src/opnsense/scripts/kea/del_kea_leases.py
+22-0src/opnsense/mvc/app/controllers/OPNsense/Kea/Api/LeasesController.php
+6-0src/opnsense/service/conf/actions.d/actions_kea.conf
+1-0plist
+166-466 files

OPNSense/core 5787989src/opnsense/service/conf/actions.d actions_filter.conf

Firewall: Aliases: Actions: Added descriptions for update.geoip and update.bogons (#10018)

* Firewall: Aliases: Actions: Added descriptions for update.geoip and update.bogons

* Update description for GeoIP update action
DeltaFile
+2-0src/opnsense/service/conf/actions.d/actions_filter.conf
+2-01 files

OPNSense/core 370d04csrc/etc rc.loader

rc: steer loader ZFS handing during build
DeltaFile
+7-2src/etc/rc.loader
+7-21 files