OPNSense/core 601a625 — src/opnsense/mvc/app/controllers/OPNsense/Core/Api ServiceController.php, src/opnsense/mvc/app/models/OPNsense/Core/ACL ACL.xml

Use simpleactionbutton instead
DeltaFile
+16-2src/opnsense/mvc/app/views/OPNsense/Core/service_settings.volt
+9-0src/opnsense/mvc/app/controllers/OPNsense/Core/Api/ServiceController.php
+1-0src/opnsense/mvc/app/models/OPNsense/Core/ACL/ACL.xml
+26-23 files

OPNSense/core 9c519f0 — src/opnsense/mvc/app/views/OPNsense/Core service_settings.volt

not needed
DeltaFile
+0-2src/opnsense/mvc/app/views/OPNsense/Core/service_settings.volt
+0-21 files

OPNSense/core e14e87c — src/opnsense/mvc/app/controllers/OPNsense/Core/Api ServiceController.php, src/opnsense/mvc/app/controllers/OPNsense/Core/forms service.xml

Add a service settings menu for the supervisor
DeltaFile
+43-0src/opnsense/mvc/app/views/OPNsense/Core/service_settings.volt
+35-0src/opnsense/mvc/app/models/OPNsense/Core/Service.php
+17-0src/opnsense/mvc/app/controllers/OPNsense/Core/forms/service.xml
+12-1src/opnsense/mvc/app/models/OPNsense/Core/ACL/ACL.xml
+13-0src/opnsense/mvc/app/models/OPNsense/Core/Service.xml
+7-4src/opnsense/mvc/app/controllers/OPNsense/Core/Api/ServiceController.php
+127-56 files not shown
+139-1612 files

OPNSense/core 021e92b — src/opnsense/scripts/service supervisor.subr.sh

Remove stale pidfiles that a hard crash can leave behind
DeltaFile
+11-0src/opnsense/scripts/service/supervisor.subr.sh
+11-01 files

OPNSense/core 8806358 — src/opnsense/service/templates/OPNsense/IDS rc.conf.d

Fix spawning replacements for every service start
DeltaFile
+2-1src/opnsense/service/templates/OPNsense/IDS/rc.conf.d
+2-11 files

OPNSense/core f26a283 — src/opnsense/scripts/service supervisor.subr.sh

Also remove original pidfile when supervisor stops child
DeltaFile
+1-0src/opnsense/scripts/service/supervisor.subr.sh
+1-01 files

OPNSense/core a111233 — src/opnsense/scripts/suricata installRules.py

ids: explain why here
DeltaFile
+2-0src/opnsense/scripts/suricata/installRules.py
+2-01 files

OPNSense/core 91e3990 — . plist, src/opnsense/mvc/app/controllers/OPNsense/IDS/forms generalSettings.xml

service: Add a reusable daemon(8) supervisor rc script and add it to suricata as a POC for testing
DeltaFile
+139-0src/opnsense/scripts/service/supervisor.subr.sh
+7-0src/opnsense/service/templates/OPNsense/IDS/rc.conf.d
+6-0src/opnsense/mvc/app/controllers/OPNsense/IDS/forms/generalSettings.xml
+4-0src/opnsense/mvc/app/models/OPNsense/IDS/IDS.xml
+1-0plist
+157-05 files

OPNSense/core 4958858 — src/opnsense/scripts/suricata installRules.py rule-updater.py, src/opnsense/scripts/suricata/lib downloader.py metadata.py

ids: support Suricata Datasets in rule metadata
DeltaFile
+15-31src/opnsense/scripts/suricata/rule-updater.py
+26-4src/opnsense/scripts/suricata/installRules.py
+24-3src/opnsense/scripts/suricata/lib/metadata.py
+3-3src/opnsense/scripts/suricata/lib/downloader.py
+68-414 files

OPNSense/core 8817182 — src/opnsense/scripts/kea kea_prefix_watcher.py

kea: remove inactive PD routes and retry unresolved next hops

Handle lease state before the shared route deletion step and cache
active prefixes only after successful route installation. This removes
released routes and lets later polls retry failed lookups or route adds.
DeltaFile
+23-16src/opnsense/scripts/kea/kea_prefix_watcher.py
+23-161 files

OPNSense/core 889bcde — src/etc/inc filter.inc, src/etc/inc/plugins.inc.d pf.inc

Firewall: Rules - fix query performance issue caused by earlier commit (#11061)

* 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.

* Firewall: Rules - minor change in previous, move writing metadata to after successful apply

* pass origin into two other spots, remove cache_ttl as the work has already been done

---------

Co-authored-by: Monviech <gitacc at pischem.com>
DeltaFile
+4-23src/opnsense/scripts/filter/list_non_mvc_rules.php
+22-4src/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
+0-1src/opnsense/service/conf/actions.d/actions_filter.conf
+46-306 files

OPNSense/core 1000f7a — src/opnsense/mvc/app/library/OPNsense/Firewall FilterRule.php Plugin.php, src/opnsense/service/conf/actions.d actions_filter.conf

pass origin into two other spots, remove cache_ttl as the work has already been done
DeltaFile
+2-2src/opnsense/mvc/app/library/OPNsense/Firewall/Plugin.php
+1-1src/opnsense/mvc/app/library/OPNsense/Firewall/FilterRule.php
+0-1src/opnsense/service/conf/actions.d/actions_filter.conf
+3-43 files

OPNSense/core afc3636 — src/etc/inc filter.inc

Firewall: Rules - minor change in previous, move writing metadata to after successful apply
DeltaFile
+7-7src/etc/inc/filter.inc
+7-71 files

OPNSense/core 3f3bad6 — src/opnsense/scripts/system certctl.py

trust: fix typo presenting qrong filename for https://github.com/opnsense/core/issues/11062
DeltaFile
+1-1src/opnsense/scripts/system/certctl.py
+1-11 files

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/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/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/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