OPNSense/core a948778 — src/opnsense/mvc/app/models/OPNsense/Unbound Unbound.xml, src/opnsense/service/templates/OPNsense/Unbound/core blocklists.conf

Services: Unbound DNS: Blocklists - remove Abuse.ch - ThreatFox IOC from the list as these need custom URI's for authentication now. closes https://github.com/opnsense/core/issues/11091

People should be able to use the "URLs of Blocklists" option to manually download from the new location. ( https://docs.opnsense.org/manual/unbound.html#blocklists )
DeltaFile
+0-1src/opnsense/service/templates/OPNsense/Unbound/core/blocklists.conf
+0-1src/opnsense/mvc/app/models/OPNsense/Unbound/Unbound.xml
+0-22 files

OPNSense/core 13cff1b — . plist, src/etc/supervisor.d dnsmasq.conf

dnsmasq: add daemon supervisor support
DeltaFile
+8-0src/opnsense/service/templates/OPNsense/Dnsmasq/rc.conf.d
+2-0src/etc/supervisor.d/dnsmasq.conf
+1-0plist
+11-03 files

OPNSense/core 3d9071f — . plist, src/etc/supervisor.d hostwatch.conf

hostwatch: add daemon supervisor support
DeltaFile
+8-0src/opnsense/service/templates/OPNsense/Hostdiscovery/rc.conf.d
+2-0src/etc/supervisor.d/hostwatch.conf
+1-0plist
+11-03 files

OPNSense/core e138c3f — . plist, src/etc/inc/plugins.inc.d unbound.inc

unbound: add daemon supervisor support
DeltaFile
+12-0src/opnsense/service/templates/OPNsense/Unbound/core/rc.conf.d
+1-1src/opnsense/scripts/unbound/start.sh
+2-0src/etc/inc/plugins.inc.d/unbound.inc
+2-0plist
+2-0src/etc/supervisor.d/unbound.conf
+1-0src/opnsense/service/templates/OPNsense/Unbound/core/+TARGETS
+20-16 files

OPNSense/core 3a3839f — src/opnsense/mvc/app/controllers/OPNsense/Core/forms service.xml, src/opnsense/mvc/app/library/OPNsense/Core File.php

service: add reusable daemon(8) supervisor

Critical services can occasionally disappear after an OOM kill, crash or
unexpected signal.  This is especially disruptive when Suricata runs in
divert-to mode: if it no longer consumes and reinjects packets, most traffic
can stop until the service is restarted manually.  Other vital system
services have similar, albeit rare, failure modes.

Use daemon(8) as a small, reusable safety harness for supported services.  A
shared rc.subr helper starts a foreground service below daemon(8), tracks the
supervisor and child independently, forwards stop and reload operations, and
removes stale service PID files before restart attempts.  Configurable retry
limits and delays prevent a permanently failing service from looping without
bounds.

Add an opt-in System: Settings: Services page and a capability directory so
only explicitly adapted services can be selected.  Existing service behavior
therefore remains unchanged until supervision is enabled and the service is
restarted.

    [6 lines not shown]
DeltaFile
+154-0src/opnsense/scripts/service/supervisor.subr.sh
+60-0src/opnsense/mvc/app/models/OPNsense/Core/FieldTypes/SupervisorField.php
+55-0src/opnsense/mvc/app/views/OPNsense/Core/service_settings.volt
+35-0src/opnsense/mvc/app/models/OPNsense/Core/Service.php
+29-0src/opnsense/mvc/app/controllers/OPNsense/Core/forms/service.xml
+23-0src/opnsense/mvc/app/library/OPNsense/Core/File.php
+356-07 files not shown
+423-513 files

OPNSense/core d374a44 — . plist, src/etc/supervisor.d suricata.conf

suricata: add daemon supervisor support
DeltaFile
+10-0src/opnsense/service/templates/OPNsense/IDS/rc.conf.d
+2-0src/etc/supervisor.d/suricata.conf
+1-0plist
+13-03 files

OPNSense/core ea38a1b — src/opnsense/mvc/app/controllers/OPNsense/Firewall/Api FilterController.php

Firewall: Rules - fix decoration magic in searchRuleAction(), partly reverts https://github.com/opnsense/core/commit/c96610594dc770023047441d3657989f6ea9b7ad

Initial the meta fields where added in https://github.com/opnsense/core/pull/9121 because of missing tooltips, but because the $filter_funct_rs method already parsed the data, it was a convenience to place it inside the block (so we only need to loop through the set once).

Given the loop is much cheaper than the filter action added later, we better move this out of there and only return that data to the user for the output he actually receives (after filtering).
DeltaFile
+4-14src/opnsense/mvc/app/controllers/OPNsense/Firewall/Api/FilterController.php
+4-141 files

OPNSense/core 21bd0ba — src/opnsense/mvc/app/models/OPNsense/Core Firmware.xml

firmware: for good measure prohibit single quotes as well
DeltaFile
+1-1src/opnsense/mvc/app/models/OPNsense/Core/Firmware.xml
+1-11 files

OPNSense/core d241ae1 — . plist, src/etc/inc/plugins.inc.d unbound.inc

Unbound should be simple to support as well and is a vital service
DeltaFile
+12-0src/opnsense/service/templates/OPNsense/Unbound/core/rc.conf.d
+1-1src/opnsense/scripts/unbound/start.sh
+2-0src/etc/inc/plugins.inc.d/unbound.inc
+2-0plist
+2-0src/etc/supervisor.d/unbound.conf
+1-0src/opnsense/service/templates/OPNsense/Unbound/core/+TARGETS
+20-16 files

OPNSense/core 564b4c5 — src/opnsense/scripts/suricata/metadata/rules sslbl.xml

suricata: style sweep
DeltaFile
+0-2src/opnsense/scripts/suricata/metadata/rules/sslbl.xml
+0-21 files

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

mvc: style sweep
DeltaFile
+3-5src/opnsense/mvc/app/library/OPNsense/System/StaticRoute.php
+3-51 files

OPNSense/core ce0145b — src/www system_advanced_firewall.php system_advanced_admin.php

src: gettext() first, then sprintf() (#11081)

Firewall: Settings: Advanced passed the value to gettext() as a second
argument. PHP 8 rejects that with a fatal ArgumentCountError, so an
unknown syncookie or debug type ended the page instead of showing the
input error.

System: Settings: Administration formatted the certificate name into
the string before the lookup, so the message never reached the
translation template.

Co-authored-by: Claude Opus 5.5 <noreply at anthropic.com>
DeltaFile
+3-2src/www/system_advanced_admin.php
+2-2src/www/system_advanced_firewall.php
+5-42 files

OPNSense/core 9f555e5 — src/www system_usermanager_passwordmg.php

legacy: translate savemsg before passing it, closes https://github.com/opnsense/core/issues/11082
DeltaFile
+4-4src/www/system_usermanager_passwordmg.php
+4-41 files

OPNSense/core 8203173 — src/etc/inc interfaces.inc, src/etc/inc/plugins.inc.d unbound.inc

Services: Unbound DNS - register interface in plugins_configure dns event, closes https://github.com/opnsense/core/issues/11083
DeltaFile
+1-1src/etc/inc/plugins.inc.d/unbound.inc
+1-1src/etc/inc/interfaces.inc
+2-22 files

OPNSense/core 853a5f5 — src/opnsense/scripts/suricata/metadata/rules sslbl.xml

Services: Intrusion Detection: Administration - add abuse.ch api input, for https://github.com/opnsense/core/issues/11078
DeltaFile
+7-6src/opnsense/scripts/suricata/metadata/rules/sslbl.xml
+7-61 files

OPNSense/core 3684ed7 — src/opnsense/mvc/app/library/OPNsense/System StaticRoute.php

System: Routes: Configuration - initial work on collecting the expected routes based on our configuration, for  https://github.com/opnsense/core/issues/10569

This should partly replace exiting dpinger calls as we need the same information here, for now we migrate what we need so we can refactor system_routing_configure() later when our strategy is complete.

The basic idea is to gather the set we plan to update and compare all with the existing routing table, so we can easily drop the ones we don't need and add the ones that we miss.
Initially its not the intention to offer multiple active default routes via gateways, but eventually we could consider hooking monitors to static routes as well.
Historically, considering a route is singular, it kind of made sense to have defaults managed via "gateways", but when multiple could exist at the same time, the route configuration might have been a more logical spot.

(work in progress)
DeltaFile
+178-4src/opnsense/mvc/app/library/OPNsense/System/StaticRoute.php
+178-41 files

OPNSense/core e03622c — . plist

pkg: fix plist
DeltaFile
+3-0plist
+3-01 files

OPNSense/core 61ca390 — src/opnsense/mvc/app/controllers/OPNsense/Core/forms service.xml

Small fix in label
DeltaFile
+1-1src/opnsense/mvc/app/controllers/OPNsense/Core/forms/service.xml
+1-11 files

OPNSense/core 7ed1724 — . plist, src/etc/supervisor.d hostwatch.conf

hostwatch is also an easy target
DeltaFile
+8-0src/opnsense/service/templates/OPNsense/Hostdiscovery/rc.conf.d
+2-0src/etc/supervisor.d/hostwatch.conf
+1-0plist
+11-03 files

OPNSense/core 64346cd — src/opnsense/mvc/app/controllers/OPNsense/Diagnostics/Api SystemhealthController.php, src/opnsense/mvc/app/views/OPNsense/Diagnostics health.volt

Reporting: Health: Improve graph metadata and formatting (#11038)

Add improved metadata types in the xml definitions, adjust front-end as needed. Also add a "logarithmic" checkbox. Port this behavior to the health graph widget(s) as well.
DeltaFile
+147-28src/opnsense/www/js/opnsense_health.js
+28-0src/opnsense/scripts/health/definitions/system-states.xml
+16-5src/opnsense/scripts/health/definitions/system-processor.xml
+17-3src/opnsense/mvc/app/views/OPNsense/Diagnostics/health.volt
+17-3src/opnsense/mvc/app/controllers/OPNsense/Diagnostics/Api/SystemhealthController.php
+18-0src/opnsense/scripts/health/definitions/gateway-quality.xml
+243-397 files not shown
+296-4413 files

OPNSense/core b2bc555 — src/etc/supervisor.d README

There are examples in this folder so the README can be brief
DeltaFile
+1-4src/etc/supervisor.d/README
+1-41 files

OPNSense/core 1fef719 — . plist, src/etc/supervisor.d dnsmasq.conf

Add dnsmasq as a second example to show that the framework is reusible in most cases
DeltaFile
+8-0src/opnsense/service/templates/OPNsense/Dnsmasq/rc.conf.d
+2-0src/etc/supervisor.d/dnsmasq.conf
+1-0plist
+11-03 files

OPNSense/core 1bbe07f — src/opnsense/mvc/app/controllers/OPNsense/Core/forms service.xml, src/opnsense/mvc/app/models/OPNsense/Core Service.xml

Improve previous, allowing 0 does not make sense
DeltaFile
+3-3src/opnsense/mvc/app/controllers/OPNsense/Core/forms/service.xml
+1-1src/opnsense/mvc/app/models/OPNsense/Core/Service.xml
+4-42 files

OPNSense/core eceaaab — src/opnsense/mvc/app/controllers/OPNsense/Core/forms service.xml, src/opnsense/mvc/app/models/OPNsense/Core Service.xml

Add restart_delay and restart_count and add safe defaults so a faulty service cannot loop indefinitely in purgatory
DeltaFile
+13-1src/opnsense/mvc/app/models/OPNsense/Core/Service.xml
+12-0src/opnsense/mvc/app/controllers/OPNsense/Core/forms/service.xml
+4-1src/opnsense/scripts/service/supervisor.subr.sh
+2-0src/opnsense/service/templates/OPNsense/IDS/rc.conf.d
+31-24 files

OPNSense/core 8dd691e — src/opnsense/mvc/app/controllers/OPNsense/Diagnostics/Api SystemhealthController.php, src/opnsense/scripts/health/definitions system-states.xml system-processor.xml

health: remove implicit logarithmic state and other feedback
DeltaFile
+14-29src/opnsense/www/js/opnsense_health.js
+4-5src/opnsense/mvc/app/controllers/OPNsense/Diagnostics/Api/SystemhealthController.php
+3-3src/opnsense/www/js/widgets/HealthGraph.js
+0-4src/opnsense/scripts/health/definitions/system-states.xml
+0-4src/opnsense/scripts/health/definitions/system-processor.xml
+0-4src/opnsense/scripts/health/definitions/gateway-quality.xml
+21-492 files not shown
+22-538 files

OPNSense/core 4809299 — src/opnsense/mvc/app/controllers/OPNsense/Core/forms service.xml, src/opnsense/mvc/app/models/OPNsense/Core/ACL ACL.xml

Change some labels
DeltaFile
+2-2src/opnsense/mvc/app/controllers/OPNsense/Core/forms/service.xml
+1-1src/opnsense/mvc/app/models/OPNsense/Core/Menu/Menu.xml
+1-1src/opnsense/mvc/app/models/OPNsense/Core/ACL/ACL.xml
+4-43 files

OPNSense/core 2186390 — . plist, src/etc/supervisor.d suricata.conf README

Add a capability marker so that plugins can use this as well, but do not use the plugin system
DeltaFile
+60-0src/opnsense/mvc/app/models/OPNsense/Core/FieldTypes/SupervisorField.php
+23-0src/opnsense/mvc/app/library/OPNsense/Core/File.php
+1-4src/opnsense/mvc/app/models/OPNsense/Core/Service.xml
+5-0src/etc/supervisor.d/README
+3-0plist
+2-0src/etc/supervisor.d/suricata.conf
+94-46 files

OPNSense/core a39b3b9 — Scripts dashboard-acl.sh, src/opnsense/www/js/widgets/Metadata Core.xml

dashboard: lint endpoints from included widget sources (#11076)
DeltaFile
+20-5Scripts/dashboard-acl.sh
+4-1src/opnsense/www/js/widgets/Metadata/Core.xml
+24-62 files

OPNSense/core 34c3984 — Scripts dashboard-acl.sh

change this back
DeltaFile
+1-1Scripts/dashboard-acl.sh
+1-11 files

OPNSense/core 98df25f — Scripts dashboard-acl.sh, src/opnsense/www/js/widgets/Metadata Core.xml

dashboard: lint endpoints from included widget sources
DeltaFile
+22-8Scripts/dashboard-acl.sh
+3-2src/opnsense/www/js/widgets/Metadata/Core.xml
+25-102 files