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/tools c497d92composite factory.sh

composite/factory: remove test invoke
DeltaFile
+2-2composite/factory.sh
+2-21 files

OPNSense/tools ec40575. Makefile, build common.sh vm.sh

build: better PRODUCT_ZFS handling

Only VM images really handle ZFS.  While here move the handling
to the core repository so rc.loader knows what to do.

We only need a 10 second boot relay on installer vga/serial/dvd/nano.

Also go back to setting the pool name using PRODUCT_ZFS which is
now safeguarded through ALLOWED/REQUESTED.
DeltaFile
+10-2build/common.sh
+4-3composite/factory.sh
+3-3Makefile
+3-2config/26.1/extras.conf
+3-1build/vm.sh
+1-1composite/custom.sh
+24-126 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

OPNSense/core daefb17src/opnsense/mvc/app/views/OPNsense/Diagnostics log.volt

system: adjust spacing for severity and process name
DeltaFile
+2-2src/opnsense/mvc/app/views/OPNsense/Diagnostics/log.volt
+2-21 files

OPNSense/core 2475c53src/opnsense/mvc/app/views/OPNsense/Diagnostics log.volt

system: compress height of the log viewer
DeltaFile
+7-15src/opnsense/mvc/app/views/OPNsense/Diagnostics/log.volt
+7-151 files

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

dhcrelay: fix margin to apply button
DeltaFile
+1-1src/opnsense/mvc/app/views/OPNsense/DHCRelay/relay.volt
+1-11 files

OPNSense/core 286dfcbMk 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.
DeltaFile
+4-2Mk/git.mk
+4-21 files

OPNSense/core 854238asrc/opnsense/mvc/app/views/layout_partials base_apply_button.volt, src/opnsense/www/js opnsense_bootgrid.js

mvc: base apply button fixed positioning (#10013)
DeltaFile
+11-2src/opnsense/www/js/opnsense_bootgrid.js
+5-4src/opnsense/mvc/app/views/layout_partials/base_apply_button.volt
+16-62 files

OPNSense/core 5b4ae2csrc/opnsense/mvc/app/models/OPNsense/Kea KeaDhcpv6.xml KeaDhcpv4.xml, src/opnsense/mvc/app/models/OPNsense/Kea/FieldTypes KeaOptionDataField.php

Services: Kea: DHCPv4/6: Add type system with validation and encoding for supported DHCP options (#9995)

* Services: Kea: DHCPv4/6: Add type system with validation and encoding for supported DHCP options

This adds a type framework using MAPS extracted from data inside the KEA documentation.

Most flat options have a validator and encoder added. Users are guided via validation messages which types are correct choices for each code selection.
Advanced options (structured, nested, encapsulated) do not have an own validator or encoder yet, they fall back to hex.
Unknown options that are valid in the IANA lists, but maybe not inside KEA yet, also fallback to hex.

The user can always bail out of the type system and always use hex instead for any option.

* CodeSource was missing, preventing match_code and code to be evaluated independently upon instantiation of the field type

* Clean up some failguards since if those conditions would be true I don't want to fail silently

* Turn encoding into a map so the code is easier readable, add missing uint length validation

* Do not hide this error silently

    [33 lines not shown]
DeltaFile
+524-17src/opnsense/mvc/app/models/OPNsense/Kea/FieldTypes/KeaOptionDataField.php
+145-0src/opnsense/mvc/tests/app/models/OPNsense/Kea/FieldTypes/KeaOptionDataFieldTest.php
+24-2src/opnsense/mvc/app/models/OPNsense/Kea/KeaDhcpv6.xml
+24-2src/opnsense/mvc/app/models/OPNsense/Kea/KeaDhcpv4.xml
+3-3src/opnsense/mvc/app/models/OPNsense/Kea/KeaDhcpv4.php
+3-3src/opnsense/mvc/app/models/OPNsense/Kea/KeaDhcpv6.php
+723-273 files not shown
+728-319 files

OPNSense/core 9861da2src/opnsense/mvc/app/views/layout_partials base_bootgrid_table.volt

bootgrid: set visibility hidden for base_bootgrid_table

Since the structure is used to initialize the bootgrid, we shouldn't render
the original structure possibly causing a flash of content.
DeltaFile
+1-1src/opnsense/mvc/app/views/layout_partials/base_bootgrid_table.volt
+1-11 files