OPNSense/core 6e32839 — src/opnsense/scripts/system certctl.py

trust: fix handling of untrust dir, closes https://github.com/opnsense/core/issues/11062
DeltaFile
+3-1src/opnsense/scripts/system/certctl.py
+3-11 files

OPNSense/core 0cfb082 — src/etc/inc filter.inc, src/etc/inc/plugins.inc.d pf.inc

Firewall: Rules - fix query performance issue caused by https://github.com/opnsense/core/commit/18533b4c60c27253f8c2ebbdfd9bc11d6450da1d

Always showing automatic rules has quite some performance impact, since we need to initialize the plugin system, we can't really speedup that part of the process.
This commit changes the view to show the currently active rules instead of calculating how it would look like after apply, in order to reach that state, we flush the non-mvc rules to /tmp/rules_internal.json which the list_non_mvc_rules.php can use to render the automatic (and legacy) rules quickly.
DeltaFile
+4-23src/opnsense/scripts/filter/list_non_mvc_rules.php
+21-3src/opnsense/mvc/app/library/OPNsense/Firewall/Plugin.php
+12-1src/opnsense/mvc/app/library/OPNsense/Firewall/FilterRule.php
+7-0src/etc/inc/filter.inc
+1-1src/etc/inc/plugins.inc.d/pf.inc
+45-285 files

OPNSense/core 82b840c — src/opnsense/mvc/app/library/OPNsense/System StaticRoute.php

System: Routes: Configuration - add StaticRoute::installedRoutes  to collect relevant routes for https://github.com/opnsense/core/issues/10569

Extracted "normalized" routes from our current routing table, ignoring link routes

(work in progress)
DeltaFile
+49-0src/opnsense/mvc/app/library/OPNsense/System/StaticRoute.php
+49-01 files

OPNSense/core 8d3890b — src/opnsense/mvc/app/models/OPNsense/Base/FieldTypes ModelRelationField.php

mvc:model - ModelRelationField safeguard mdlStructure in case setModel() wasn't executed.
DeltaFile
+1-1src/opnsense/mvc/app/models/OPNsense/Base/FieldTypes/ModelRelationField.php
+1-11 files

OPNSense/core 1b07441 — src/opnsense/mvc/app/models/OPNsense/Base/FieldTypes OptionField.php

mvc:model - optimize OptionField, deduplicate equal setters
DeltaFile
+18-11src/opnsense/mvc/app/models/OPNsense/Base/FieldTypes/OptionField.php
+18-111 files

OPNSense/core b1034ef — src/opnsense/mvc/app/controllers/OPNsense/Firewall/Api SourceNatController.php OneToOneController.php

firewall: Increment the sequence when cloning a rule, Ref: https://github.com/opnsense/core/issues/10530
DeltaFile
+12-0src/opnsense/mvc/app/controllers/OPNsense/Firewall/Api/FilterBaseController.php
+1-1src/opnsense/mvc/app/controllers/OPNsense/Firewall/Api/SourceNatController.php
+1-1src/opnsense/mvc/app/controllers/OPNsense/Firewall/Api/OneToOneController.php
+1-1src/opnsense/mvc/app/controllers/OPNsense/Firewall/Api/NptController.php
+1-1src/opnsense/mvc/app/controllers/OPNsense/Firewall/Api/FilterController.php
+1-1src/opnsense/mvc/app/controllers/OPNsense/Firewall/Api/DNatController.php
+17-56 files

OPNSense/plugins 01de26d — www/squid Makefile, www/squid/src/opnsense/service/conf/actions.d actions_proxy.conf

www/squid: Change reload to restart for now, https://github.com/opnsense/ports/commit/0d2014a65a35d8e0f201882d0cfe366cda58970c, Closes: https://github.com/opnsense/plugins/issues/5811
DeltaFile
+1-1www/squid/src/opnsense/service/conf/actions.d/actions_proxy.conf
+1-1www/squid/Makefile
+2-22 files

OPNSense/core 1461509 — src/opnsense/mvc/app/models/OPNsense/Base BaseModel.php

mvc:model - revert part of https://github.com/opnsense/core/commit/54aa99b2d0fda5ea836724f17963d04ba7e6a061 as later commits remove the need for it
DeltaFile
+8-16src/opnsense/mvc/app/models/OPNsense/Base/BaseModel.php
+8-161 files

OPNSense/core 078963a — src/opnsense/mvc/app/models/OPNsense/Firewall/DynamicAliases CaptivePortalAliases.php

Firewall: Aliases - squeeze some extra performance out of the dynamic captive portal aliases, the getConfigNode() works but still costs a bit more than I'm willing to spend.

The downside from direct config access is that we need to keep track locations in multiple spots, but since it's highly unlikely these locations will change, it's probably better to save some cpu cycles.
DeltaFile
+4-2src/opnsense/mvc/app/models/OPNsense/Firewall/DynamicAliases/CaptivePortalAliases.php
+4-21 files

OPNSense/core 54aa99b — src/opnsense/mvc/app/library/OPNsense/Core Config.php, src/opnsense/mvc/app/models/OPNsense/Base BaseModel.php

Firewall: Aliases - fix performance regression introduced in https://github.com/opnsense/core/pull/8368

The captive portal model is quite expensive to construct and for our aliases we only require the data underneath.

This commit organizes a couple of things, first implement an easier handle to load a random model from disk to test:

```
Config::getInstance()->forceReload('/path/to/test/config.xml');
$before = memory_get_usage();
$start = hrtime(true);

$mdl = new \OPNsense\Firewall\Alias(true);

printf(
    "Alias: %.2f ms, retained PHP memory: %.2f MiB\n",
    (hrtime(true) - $start) / 1e6,
    (memory_get_usage() - $before) / 1048576
);
```

    [4 lines not shown]
DeltaFile
+13-17src/opnsense/mvc/app/models/OPNsense/Firewall/DynamicAliases/CaptivePortalAliases.php
+16-8src/opnsense/mvc/app/models/OPNsense/Base/BaseModel.php
+10-4src/opnsense/mvc/app/library/OPNsense/Core/Config.php
+39-293 files

OPNSense/core 5833e5f — src/opnsense/mvc/app/library/OPNsense/Core Config.php, src/opnsense/mvc/app/models/OPNsense/Base BaseModel.php

Firewall: Aliases - fix performance regression introduced in https://github.com/opnsense/core/pull/8368

The captive portal model is quite expensive to construct and for our aliases we only require the data underneath.

This commit organizes a couple of things, first implement an easier handle to load a random model from disk to test:

```
Config::getInstance()->forceReload('/path/to/test/config.xml');
$before = memory_get_usage();
$start = hrtime(true);

$mdl = new \OPNsense\Firewall\Alias(true);

printf(
    "Alias: %.2f ms, retained PHP memory: %.2f MiB\n",
    (hrtime(true) - $start) / 1e6,
    (memory_get_usage() - $before) / 1048576
);
```

    [4 lines not shown]
DeltaFile
+17-18src/opnsense/mvc/app/models/OPNsense/Firewall/DynamicAliases/CaptivePortalAliases.php
+16-8src/opnsense/mvc/app/models/OPNsense/Base/BaseModel.php
+10-4src/opnsense/mvc/app/library/OPNsense/Core/Config.php
+43-303 files

OPNSense/plugins 7dc6d40 — net-mgmt/net-snmp Makefile, net-mgmt/net-snmp/src/opnsense/mvc/app/models/OPNsense/Netsnmp General.xml

net-mgmt/net-snmp: Allow Spaces in Syslocation (#5807)
DeltaFile
+7-3net-mgmt/net-snmp/src/opnsense/mvc/app/models/OPNsense/Netsnmp/General.xml
+1-0net-mgmt/net-snmp/Makefile
+8-32 files

OPNSense/plugins 5ead3d0 — sysutils/sftp-backup/src/opnsense/mvc/app/library/OPNsense/Backup Sftp.php

sysutils/sftp-backup - set identity ownership to wwwonly:wheel (always) https://github.com/opnsense/plugins/issues/5809
DeltaFile
+8-0sysutils/sftp-backup/src/opnsense/mvc/app/library/OPNsense/Backup/Sftp.php
+8-01 files

OPNSense/core 47fc153 — . plist, src/opnsense/scripts/kea setup.sh

Services: Kea DHCPv6: Add setup.sh that creates /var/log/kea so kea_prefix_watcher.py doesn't fail to daemonize on RAM disks during boot (#11053)
DeltaFile
+5-0src/opnsense/scripts/kea/setup.sh
+1-1src/opnsense/service/templates/OPNsense/Kea/rc.conf.d
+1-0plist
+7-13 files

OPNSense/plugins a516b81 — net/frr/src/opnsense/scripts/frr carp_event_handler, net/frr/src/opnsense/scripts/frr/lib/events ospf6d.py

net/frr: refactor Ospf6dEventHandler to use json output from vtysh, closes https://github.com/opnsense/plugins/issues/5767
DeltaFile
+4-17net/frr/src/opnsense/scripts/frr/lib/events/ospf6d.py
+1-2net/frr/src/opnsense/scripts/frr/carp_event_handler
+5-192 files

OPNSense/plugins 150ff2a — net/frr Makefile, net/frr/src/opnsense/mvc/app/models/OPNsense/Quagga OSPF.xml

net/frr: OSPF do not validate group interface for now to ease migrations
DeltaFile
+1-1net/frr/Makefile
+0-1net/frr/src/opnsense/mvc/app/models/OPNsense/Quagga/OSPF.xml
+1-22 files

OPNSense/plugins e3ffe4a — sysutils/sftp-backup/src/opnsense/mvc/app/library/OPNsense/Backup Sftp.php

sysutils/sftp-backup - set identity ownership to wwwonly:wheel to allow the frontend to send these backups. closes https://github.com/opnsense/plugins/issues/5809

Eventually we need to replace diag_backup.php, but for now we should make sure ownership matches reality. From a security perspective this doesn't make much of a difference as the config file is readable from the UI anyway.

Existing setups should remove the identity file (rm /conf/backup/sftp/identity) in order to get it recreated with proper ownership
DeltaFile
+1-1sysutils/sftp-backup/src/opnsense/mvc/app/library/OPNsense/Backup/Sftp.php
+1-11 files

OPNSense/core 36fe4b9 — src/opnsense/mvc/app/controllers/OPNsense/Unbound/Api SettingsController.php, src/opnsense/mvc/app/models/OPNsense/Unbound/ACL ACL.xml

unbound: CSV import for overrides and aliases. Closes https://github.com/opnsense/core/issues/8354

Since we added the "quick" alias add/delete options from the overrides,
the data layout has been made flat enough to do this in bulk.
DeltaFile
+27-0src/opnsense/mvc/app/views/OPNsense/Unbound/overrides.volt
+26-0src/opnsense/mvc/app/controllers/OPNsense/Unbound/Api/SettingsController.php
+2-0src/opnsense/mvc/app/models/OPNsense/Unbound/ACL/ACL.xml
+55-03 files

OPNSense/core 4c6f7ce — src/opnsense/scripts/system remote_backup.php

System: Configuration: Backups - trapp errors in remote_backup.php similar to how diag_backup.php handles them. closes https://github.com/opnsense/core/issues/11054
DeltaFile
+16-1src/opnsense/scripts/system/remote_backup.php
+16-11 files

OPNSense/core 3b0f51d — src/opnsense/www/js/widgets HealthGraph.js, src/opnsense/www/js/widgets/Metadata Core.xml

dashboard: add logarithmic option to dashboard widgets as well
DeltaFile
+10-4src/opnsense/www/js/widgets/HealthGraph.js
+1-0src/opnsense/www/js/widgets/Metadata/Core.xml
+11-42 files

OPNSense/core b0adae5 — . plist

plist
DeltaFile
+1-0plist
+1-01 files

OPNSense/core 0b12ed8 — src/opnsense/scripts/kea setup.sh, src/opnsense/service/templates/OPNsense/Kea rc.conf.d

Services: Kea DHCPv6: Add setup.sh that creates /var/log/kea so kea_prefix_watcher.py doesn't fail to daemonize on RAM disks during boot
DeltaFile
+5-0src/opnsense/scripts/kea/setup.sh
+1-1src/opnsense/service/templates/OPNsense/Kea/rc.conf.d
+6-12 files

OPNSense/core 548bff0 — src/opnsense/mvc/app/views/OPNsense/Diagnostics health.volt

health: adjust to reality on master
DeltaFile
+1-1src/opnsense/mvc/app/views/OPNsense/Diagnostics/health.volt
+1-11 files

OPNSense/core 5c2472b — src/opnsense/www/js opnsense_health.js

health: make use of byteFormat() here
DeltaFile
+2-5src/opnsense/www/js/opnsense_health.js
+2-51 files

OPNSense/core 4636f49 — src/opnsense/scripts/health/definitions system-mbuf.xml gateway-quality.xml, src/opnsense/www/js opnsense_health.js

health: update y-axis label based on state rather than report metadata
DeltaFile
+9-2src/opnsense/www/js/opnsense_health.js
+2-2src/opnsense/scripts/health/definitions/system-states.xml
+1-1src/opnsense/scripts/health/definitions/system-mbuf.xml
+1-1src/opnsense/scripts/health/definitions/gateway-quality.xml
+13-64 files

OPNSense/core e707edb — src/opnsense/mvc/app/views/OPNsense/Diagnostics health.volt, src/opnsense/www/js opnsense_health.js

health: default to logarithmic for some graphs, but make it optional in all cases
DeltaFile
+29-9src/opnsense/www/js/opnsense_health.js
+17-3src/opnsense/mvc/app/views/OPNsense/Diagnostics/health.volt
+46-122 files

OPNSense/core 3340af5 — src/opnsense/scripts/health/definitions system-memory.xml

health: system-memory is percentage based
DeltaFile
+13-0src/opnsense/scripts/health/definitions/system-memory.xml
+13-01 files

OPNSense/core b184a38 — src/opnsense/scripts/health/definitions interface-traffic.xml

health: proper tooltip formatter for Traffic
DeltaFile
+6-0src/opnsense/scripts/health/definitions/interface-traffic.xml
+6-01 files

OPNSense/core 3183e6d — src/opnsense/scripts/health/definitions system-states.xml

health: use a logarithmic scale for states as well
DeltaFile
+32-0src/opnsense/scripts/health/definitions/system-states.xml
+32-01 files

OPNSense/core 291072d — src/opnsense/mvc/app/controllers/OPNsense/Diagnostics/Api SystemhealthController.php, src/opnsense/scripts/health listReports.py

health: use logarithmic mbuf reporting, separate formatting responsibilities

Let the y-axis use compact metric formatting such as 10K or 1M.
Since a tooltip should be able to contain more detailed information, allow
separation through a tooltip_formats structure.
DeltaFile
+21-7src/opnsense/www/js/opnsense_health.js
+15-0src/opnsense/scripts/health/definitions/system-mbuf.xml
+4-3src/opnsense/mvc/app/controllers/OPNsense/Diagnostics/Api/SystemhealthController.php
+2-1src/opnsense/scripts/health/listReports.py
+3-0src/opnsense/scripts/health/definitions/interface-packets.xml
+45-115 files