OPNSense/core b5b7947src/opnsense/service/conf/actions.d actions_interface.conf

system: fix backend log message

PR: https://forum.opnsense.org/index.php?topic=40950.0
(cherry picked from commit 105ecf9a5af80945024f39c1212cabf7020a5f40)
DeltaFile
+1-1src/opnsense/service/conf/actions.d/actions_interface.conf
+1-11 files

OPNSense/core f144991src/opnsense/mvc/app/views/layout_partials base_menu_system.volt, src/www fbegin.inc

ui: prevent word break for top level menu items; closes #7511

(cherry picked from commit 0e543767d5ee899eb2d3e5adcb6a51aacbbeea1c)
DeltaFile
+1-1src/opnsense/mvc/app/views/layout_partials/base_menu_system.volt
+1-1src/www/fbegin.inc
+2-22 files

OPNSense/core de94110src/opnsense/mvc/app/models/OPNsense/Core/Menu Menu.xml

dashboard: VisibleName not necessary anymore
DeltaFile
+1-1src/opnsense/mvc/app/models/OPNsense/Core/Menu/Menu.xml
+1-11 files

OPNSense/core ce09e87src/opnsense/mvc/app/models/OPNsense/Core/ACL ACL.xml, src/opnsense/mvc/app/models/OPNsense/Core/Menu Menu.xml

dashboard: initial cleanup code
DeltaFile
+63-394src/www/index.php
+4-5src/opnsense/mvc/app/models/OPNsense/Core/Menu/Menu.xml
+8-0src/opnsense/mvc/app/models/OPNsense/Core/ACL/ACL.xml
+75-3993 files

OPNSense/core 7a3469asrc/opnsense/mvc/app/models/OPNsense/Core/ACL ACL.xml, src/opnsense/www/js/widgets Cpu.js Interfaces.js

dashboard: fix ACLs
DeltaFile
+132-27src/opnsense/mvc/app/models/OPNsense/Core/ACL/ACL.xml
+2-1src/opnsense/www/js/widgets/Cpu.js
+1-1src/opnsense/www/js/widgets/Interfaces.js
+135-293 files

OPNSense/core 34cafe3src/opnsense/www/css dashboard.css, src/opnsense/www/js opnsense_widget_manager.js

dashboard: allow widget locking
DeltaFile
+23-0src/opnsense/www/js/opnsense_widget_manager.js
+5-0src/opnsense/www/css/dashboard.css
+28-02 files

OPNSense/core 105ecf9src/opnsense/service/conf/actions.d actions_interface.conf

system: fix backend log message

PR: https://forum.opnsense.org/index.php?topic=40950.0
DeltaFile
+1-1src/opnsense/service/conf/actions.d/actions_interface.conf
+1-11 files

OPNSense/core 0487802. plist

firmware: fix plist
DeltaFile
+1-0plist
+1-01 files

OPNSense/core dac769fsrc/etc/pkg/fingerprints/OPNsense/trusted pkg.opnsense.org.20240611

firmware: add 24.7 fingerprint
DeltaFile
+2-0src/etc/pkg/fingerprints/OPNsense/trusted/pkg.opnsense.org.20240611
+2-01 files

OPNSense/core 5e2708bsrc/opnsense/mvc/app/controllers/OPNsense/Core/Api SystemController.php

dashboard: system information missing licensing information
DeltaFile
+11-5src/opnsense/mvc/app/controllers/OPNsense/Core/Api/SystemController.php
+11-51 files

OPNSense/core a2ac199src/etc/inc interfaces.inc interfaces.lib.inc

interfaces: force regeneration of link-local on spoofed MAC; closes #4430

While here make it possible to go back to the original MAC address by
providing the "hwaddr" field of ifconfig back to link command.

This operates under the constraint that the interface where the MAC
address changes is the same as the interface where IPv6 is running
so that we do not perform useless or problematic configuration.

The case for VLANs and parent MACs is probably also quite tricky, but
since it has never been considered before do not start now.
DeltaFile
+32-5src/etc/inc/interfaces.inc
+9-2src/etc/inc/interfaces.lib.inc
+41-72 files

OPNSense/core d3d80d1src/opnsense/scripts/system remote_backup.php

system: replace rand() with random_int()

The implementation is the same and no outside impact although
not cryptographically relevant either way.

(cherry picked from commit 089066912938901763aa01cf678572d7d904e0c0)
DeltaFile
+1-1src/opnsense/scripts/system/remote_backup.php
+1-11 files

OPNSense/core cf5a711src/opnsense/service/conf/actions.d actions_system.conf

system: merge backend commands from master

Backport these changes although for the time being these are unused
there is no harm in adding them here so they can already be used
for testing.
DeltaFile
+30-0src/opnsense/service/conf/actions.d/actions_system.conf
+30-01 files

OPNSense/core 50eff7dsrc/opnsense/mvc/app/controllers/OPNsense/Diagnostics/Api FirewallController.php

src: style sweep
DeltaFile
+1-1src/opnsense/mvc/app/controllers/OPNsense/Diagnostics/Api/FirewallController.php
+1-11 files

OPNSense/core e66dbbdsrc/opnsense/mvc/app/controllers/OPNsense/Diagnostics/Api FirewallController.php, src/opnsense/scripts/filter pftop.py

Firewall: Diagnostics: Sessions - refactor pftop output, move search to controller layer and implement cache.

This commit should improve responsiveness of the sessions screen, since we needed to parse the full data in the previous version as well before returning it, this shouldn't be much slower on initial load.
Only risk is the size of the generated json output, by moving the label parsing we replicate less data and reduce total size.
DeltaFile
+49-37src/opnsense/mvc/app/controllers/OPNsense/Diagnostics/Api/FirewallController.php
+12-43src/opnsense/scripts/filter/lib/states.py
+2-35src/opnsense/scripts/filter/pftop.py
+1-1src/opnsense/service/conf/actions.d/actions_filter.conf
+64-1164 files

OPNSense/core d496eeasrc/opnsense/service/conf/actions.d actions_interface.conf

Interfaces: Diagnostics: ARP|NDP Table - enable cache to increase responsiveness
DeltaFile
+2-0src/opnsense/service/conf/actions.d/actions_interface.conf
+2-01 files

OPNSense/core 20e8126src/etc/inc interfaces.inc

interfaces: experiment for #4430
DeltaFile
+7-1src/etc/inc/interfaces.inc
+7-11 files

OPNSense/core ff0e772src/opnsense/mvc/app/controllers/OPNsense/Base ApiControllerBase.php

mvc: improve searchRecordsetBase() to support the following features:

* update the recordset passed in $filter_funct, similar to what the model search supports
* optional $search_clauses to overwrite post `searchPhrase` in cases we want to filter these from the controller.
DeltaFile
+10-4src/opnsense/mvc/app/controllers/OPNsense/Base/ApiControllerBase.php
+10-41 files

OPNSense/core a404e9csrc/opnsense/www/js opnsense_widget_manager.js, src/opnsense/www/js/widgets BaseWidget.js Cpu.js

dashboard: toggle SSE persistent connections based on document visibility

While SSE promises to be properly multiplexed over HTTP/2, it seems browsers
still hit a hard limit when opening >6 connections. Since the streams are not
critical, it's fine to abstract the eventsource logic to the base widget class
where it manages open/closing connections based on tab visiblity.

If we need more than 6 parallel streams, we need to revamp the logic
to multiplex multiple event types in the backend ourselves, but this is not
necessary for now.
DeltaFile
+37-1src/opnsense/www/js/widgets/BaseWidget.js
+3-12src/opnsense/www/js/widgets/Cpu.js
+3-7src/opnsense/www/js/widgets/Firewall.js
+3-7src/opnsense/www/js/widgets/Traffic.js
+4-0src/opnsense/www/js/opnsense_widget_manager.js
+50-275 files

OPNSense/core 30df142src/etc/inc interfaces.inc filter.lib.inc, src/opnsense/scripts/interfaces rtsold_resolvconf.sh

interfaces: backport optional prefix tracking for WAN #5630
DeltaFile
+116-30src/www/interfaces.php
+40-7src/etc/inc/interfaces.inc
+30-5src/www/system_advanced_network.php
+0-31src/www/system_advanced_firewall.php
+5-5src/etc/inc/filter.lib.inc
+5-0src/opnsense/scripts/interfaces/rtsold_resolvconf.sh
+196-783 files not shown
+201-819 files

OPNSense/core 341a4ce. plist

fix plist
DeltaFile
+0-2plist
+0-21 files

OPNSense/core b955dbcsrc/etc/inc interfaces.inc, src/www interfaces.php

interafces: track interface id #5630
DeltaFile
+22-0src/www/interfaces.php
+6-0src/etc/inc/interfaces.inc
+28-02 files

OPNSense/core 6db977esrc/opnsense/www/js/widgets ThermalSensors.js

dashboard: thermal sensors requires close action
DeltaFile
+6-0src/opnsense/www/js/widgets/ThermalSensors.js
+6-01 files

OPNSense/core 0d895a3. plist, src/opnsense/mvc/app/controllers/OPNsense/Core/Api SystemController.php

dashboard: typo in previous, also fix plist
DeltaFile
+2-2src/opnsense/mvc/app/controllers/OPNsense/Core/Api/SystemController.php
+3-0plist
+5-22 files

OPNSense/core 2d73903src/opnsense/mvc/app/controllers/OPNsense/Core/Api SystemController.php DashboardController.php, src/opnsense/www/js opnsense_widget_manager.js

dashboard: add thermal sensors widget
DeltaFile
+234-0src/opnsense/www/js/widgets/ThermalSensors.js
+20-0src/opnsense/mvc/app/controllers/OPNsense/Core/Api/SystemController.php
+6-1src/opnsense/mvc/app/controllers/OPNsense/Core/Api/DashboardController.php
+1-1src/opnsense/www/js/opnsense_widget_manager.js
+261-24 files

OPNSense/core 10f7043src/www interfaces.php

interfaces: present interface ID in hex

We have to revoke being able to set "random" here for now, but
it's not a huge issue since the fallback is now in the daemon.
The daemon also supports the full unsigned long long range but
does not allow hex input which means we are stuck with losing the
highest bit for now if we store in integer in PHP.

We could store a string, but then cannot verify it and it would
not be a hex value.  Meh.
DeltaFile
+11-7src/www/interfaces.php
+11-71 files

OPNSense/core 1ee618fsrc/opnsense/mvc/app/models/OPNsense/Core Hasync.xml, src/opnsense/mvc/app/models/OPNsense/Firewall Filter.xml

mvc: move existing JsonKeyValueStoreField caches to configd (ref https://github.com/opnsense/core/issues/7515)
DeltaFile
+0-2src/opnsense/mvc/app/models/OPNsense/Syslog/Syslog.xml
+0-2src/opnsense/mvc/app/models/OPNsense/Core/Hasync.xml
+0-2src/opnsense/mvc/app/models/OPNsense/Firewall/Filter.xml
+0-2src/opnsense/mvc/app/models/OPNsense/Routes/Route.xml
+1-0src/opnsense/service/conf/actions.d/actions_interface.conf
+1-0src/opnsense/service/conf/actions.d/actions_syslog.conf
+2-81 files not shown
+3-87 files

OPNSense/core 9e42330src/opnsense/mvc/app/models/OPNsense/Core Hasync.xml, src/opnsense/mvc/app/models/OPNsense/Firewall Filter.xml

mvc: move existing JsonKeyValueStoreField caches to configd (ref https://github.com/opnsense/core/issues/7515)
DeltaFile
+0-2src/opnsense/mvc/app/models/OPNsense/Syslog/Syslog.xml
+0-2src/opnsense/mvc/app/models/OPNsense/Routes/Route.xml
+0-2src/opnsense/mvc/app/models/OPNsense/Core/Hasync.xml
+0-2src/opnsense/mvc/app/models/OPNsense/Firewall/Filter.xml
+1-0src/opnsense/service/conf/actions.d/actions_interface.conf
+1-0src/opnsense/service/conf/actions.d/actions_syslog.conf
+2-81 files not shown
+3-87 files

OPNSense/core a39add8src/opnsense/mvc/app/models/OPNsense/Base/FieldTypes JsonKeyValueStoreField.php

mvc:model:JsonKeyValueStoreField - support congfigd input without filestream, needed for https://github.com/opnsense/core/issues/7515

basically this just offers the option to remove the SourceFile reference and keep the configd action, the call overhead of using configd is quite low anyway and #7515 implements generic caching (which was the intend of the file handle)
DeltaFile
+10-8src/opnsense/mvc/app/models/OPNsense/Base/FieldTypes/JsonKeyValueStoreField.php
+10-81 files

OPNSense/core 06d5077src/opnsense/service/modules/actions script_output.py base.py

configd - add optional cache_ttl for script_output actions, closes https://github.com/opnsense/core/issues/7515

Add a generic time based cache option for configd sscript action events, example usage:

[action]
command:/path/to/my/command
type:script_output
cache_ttl=5

cache_ttl is specified in seconds after last started execution.
DeltaFile
+33-1src/opnsense/service/modules/actions/script_output.py
+4-0src/opnsense/service/modules/actions/base.py
+37-12 files