OPNSense/core 6cd1ef3. Makefile, src/etc/inc config.inc

system: add pluginctl -m and -v to save on typing #9213
DeltaFile
+10-3src/sbin/pluginctl
+3-3Makefile
+1-1src/etc/inc/config.inc
+14-73 files

OPNSense/core 22f22e6src/opnsense/mvc/app/models/OPNsense/IDS IDS.xml

intrusion detection: update model style
DeltaFile
+43-43src/opnsense/mvc/app/models/OPNsense/IDS/IDS.xml
+43-431 files

OPNSense/core 693ddb7src/opnsense/mvc/app/controllers/OPNsense/Firewall/Api FilterController.php

mvc: sweep no 2

(cherry picked from commit ffe7bfa6511d01b427344571d42a13893dc6df36)
DeltaFile
+2-2src/opnsense/mvc/app/controllers/OPNsense/Firewall/Api/FilterController.php
+2-21 files

OPNSense/core 8fe1d1dsrc/etc/inc/plugins.inc.d unbound.inc dnsmasq.inc, src/opnsense/mvc/app/controllers/OPNsense/Dnsmasq/Api ServiceController.php

mvc: disable Dnsmasq/Unbound template generation; closes #8888

Fix Unbound mounting code paths while here.

(cherry picked from commit 03ce2dd69778c50a1cd9bd69cc07518311665c99)
(cherry picked from commit 9e8039f7e012b5d2d0bd1616377b606bb3b90d6b)
(cherry picked from commit 81cd51c91983951df6092ea9b044789f81104848)
DeltaFile
+7-13src/etc/inc/plugins.inc.d/unbound.inc
+4-2src/opnsense/mvc/app/controllers/OPNsense/Unbound/Api/ServiceController.php
+2-1src/opnsense/mvc/app/controllers/OPNsense/Dnsmasq/Api/ServiceController.php
+1-2src/etc/inc/plugins.inc.d/dnsmasq.inc
+14-184 files

OPNSense/core 39c0e47src/etc/inc/plugins.inc.d unbound.inc, src/opnsense/mvc/app/controllers/OPNsense/Unbound/forms dialogHostOverride.xml

unbound: add support for TXT records in host overrides (#9188)

* unbound: add support for TXT records in host overrides

* Update src/etc/inc/plugins.inc.d/unbound.inc

Co-authored-by: Franco Fichtner <franco at opnsense.org>

---------

Co-authored-by: Franco Fichtner <franco at opnsense.org>
(cherry picked from commit e6ce9e7789926207c50ecdcab9bcc73979c70d6c)
DeltaFile
+14-6src/opnsense/mvc/app/controllers/OPNsense/Unbound/forms/dialogHostOverride.xml
+15-0src/opnsense/mvc/app/models/OPNsense/Unbound/Unbound.xml
+7-0src/opnsense/mvc/app/views/OPNsense/Unbound/overrides.volt
+3-0src/etc/inc/plugins.inc.d/unbound.inc
+39-64 files

OPNSense/core 84df1basrc/opnsense/mvc/app/views/layout_partials form_input_tr.volt

mvc: add datetime-local to field types (needed for BE 25.10)

(cherry picked from commit cafca2eaf5c4a64e84814cec8b1d7cec85e69125)
DeltaFile
+3-2src/opnsense/mvc/app/views/layout_partials/form_input_tr.volt
+3-21 files

OPNSense/core 8747690src/opnsense/scripts/filter list_table.py

Firewall: Diagnostics: Aliases - slighly improve alias parsing performance

For large lists (~1m records), parsing pfctl is rather expensive. We can save some time using two different tactics.

1. start parsing the pfctl content while executing, which is done by readline() on Popen()
2. prefer string compare before split, as split is rather expensive and we only want the content in parts when not '0', we can ease handling with faster string compares

In my local test this saves rougly 33% of the execution time.

(cherry picked from commit ccfe01f36e3e5613226a1813b103327100b9a0d6)
DeltaFile
+15-9src/opnsense/scripts/filter/list_table.py
+15-91 files

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

Power: Power Off - add configd action to GUI options

(cherry picked from commit 171f34f645efa9f835b08dfbb32af64f812fa2f2)
(cherry picked from commit a7aedf1f5056da22cbbfedc01c723e5d546b0be2)
(cherry picked from commit 7b51b61395d6d0cc72892c26b1c7e360ecc43d02)
DeltaFile
+4-3src/opnsense/service/conf/actions.d/actions_system.conf
+4-31 files

OPNSense/core c76d9c6src/opnsense/mvc/app/controllers/OPNsense/Core/Api FirmwareController.php, src/opnsense/mvc/app/controllers/OPNsense/Diagnostics/Api PingController.php

mvc: fix a few configd(p)Run() fallback invokes for #9127

(cherry picked from commit a7c0c93c396e34fd48b8d1393d39657fd5e716e7)
DeltaFile
+4-4src/opnsense/mvc/app/controllers/OPNsense/Diagnostics/Api/PingController.php
+3-3src/opnsense/mvc/app/controllers/OPNsense/OpenVPN/Api/ServiceController.php
+2-2src/opnsense/mvc/app/controllers/OPNsense/Core/Api/FirmwareController.php
+2-2src/opnsense/mvc/app/controllers/OPNsense/Firewall/Api/FilterController.php
+1-1src/opnsense/mvc/app/models/OPNsense/Trust/FieldTypes/CertificatesField.php
+1-1src/opnsense/mvc/app/models/OPNsense/Base/FieldTypes/JsonKeyValueStoreField.php
+13-136 files not shown
+19-1912 files

OPNSense/core c49e3a2src/etc/inc/plugins.inc.d kea.inc, src/opnsense/mvc/app/controllers/OPNsense/Kea/forms dialogReservation4.xml dialogSubnet4.xml

KEA DHCPv4: honor client specific reservation domain name option (#9186)

* KEA DHCPv4: honor client specific reservation domain name option

Register in DNS with the client specific reservation domain name when specified.

Unbound requires reload.

* Update src/opnsense/mvc/app/controllers/OPNsense/Kea/forms/dialogReservation4.xml

Co-authored-by: Franco Fichtner <franco at lastsummer.de>

* Update src/opnsense/mvc/app/controllers/OPNsense/Kea/forms/dialogSubnet4.xml

Co-authored-by: Franco Fichtner <franco at lastsummer.de>

---------

Co-authored-by: Franco Fichtner <franco at lastsummer.de>
(cherry picked from commit 5b91238349ee0e1c01900f84bf5008c9f93c47be)
DeltaFile
+3-1src/etc/inc/plugins.inc.d/kea.inc
+1-1src/opnsense/mvc/app/controllers/OPNsense/Kea/forms/dialogReservation4.xml
+1-1src/opnsense/mvc/app/controllers/OPNsense/Kea/forms/dialogSubnet4.xml
+5-33 files

OPNSense/core 05af288src/etc/inc legacy_bindings.inc

legacy: legacy_html_escape_form_data() not escaping keys only data elements.

reported by: Alex Williams from Pellera Technologies

(cherry picked from commit 9b4b22cb6c0efd80aa521f4c4ddec9294d2b6922)
DeltaFile
+9-0src/etc/inc/legacy_bindings.inc
+9-01 files

OPNSense/core 58a3f95Mk git.mk

make: add tag glue

(cherry picked from commit f1c48f46990bee2f73012c3effe88c8ddc9c69e7)
DeltaFile
+4-1Mk/git.mk
+4-11 files

OPNSense/core b54b7b6src/opnsense/mvc/app/library/OPNsense/Firewall Rule.php

firewall: treat "skip" as a string to avoid syntax error #9211

(cherry picked from commit 79c6142803f5f92d10d647a4a26aaead3fb0bd02)
DeltaFile
+1-1src/opnsense/mvc/app/library/OPNsense/Firewall/Rule.php
+1-11 files

OPNSense/core 79c6142src/opnsense/mvc/app/library/OPNsense/Firewall Rule.php

firewall: treat "skip" as a string to avoid syntax error #9211
DeltaFile
+1-1src/opnsense/mvc/app/library/OPNsense/Firewall/Rule.php
+1-11 files

OPNSense/core 713fbf4src/opnsense/service/templates/OPNsense/Captiveportal lighttpd-zone.conf

captive portal: remove dir-listing.activate, because mod_dirlisting is not loaded

Seems to have been the case for a while now.  We never loaded it manually
and we surely do not need it.
DeltaFile
+0-3src/opnsense/service/templates/OPNsense/Captiveportal/lighttpd-zone.conf
+0-31 files

OPNSense/core 9b4b22csrc/etc/inc legacy_bindings.inc

legacy: legacy_html_escape_form_data() not escaping keys only data elements.

reported by: Alex Williams from Pellera Technologies
DeltaFile
+9-0src/etc/inc/legacy_bindings.inc
+9-01 files

OPNSense/core 3cd6c5csrc/opnsense/mvc/app/controllers/OPNsense/Kea/forms generalSettings6.xml generalSettings4.xml, src/opnsense/mvc/app/models/OPNsense/Kea KeaDhcpv4.xml KeaDhcpv6.xml

Kea: expose lease expiration settings to the gui (#9120)

DeltaFile
+52-1src/opnsense/mvc/app/controllers/OPNsense/Kea/forms/generalSettings6.xml
+52-1src/opnsense/mvc/app/controllers/OPNsense/Kea/forms/generalSettings4.xml
+20-0src/opnsense/mvc/app/models/OPNsense/Kea/KeaDhcpv4.xml
+20-0src/opnsense/mvc/app/models/OPNsense/Kea/KeaDhcpv6.xml
+18-0src/opnsense/mvc/app/models/OPNsense/Kea/KeaDhcpv6.php
+17-0src/opnsense/mvc/app/models/OPNsense/Kea/KeaDhcpv4.php
+179-22 files not shown
+181-28 files

OPNSense/core 9e8039fsrc/etc/inc/plugins.inc.d unbound.inc dnsmasq.inc, src/opnsense/mvc/app/controllers/OPNsense/Dnsmasq/Api ServiceController.php

mvc: disable Dnsmasq/Unbound template generation; closes #8888

There are two things to consider:

1. Stopping does not alter the templates because the (re)start
   code is in charge of doing the templates, which is not called
   when a service is disabled.

2. That actually led to an Unbound bug on stop where the file
   system is unmounted, but that should only happen when the
   service is disabled.  This runs into issue 1. again, but it's
   better to leave the system mounted until the backend kicks
   in again unmounting it anyway.
DeltaFile
+7-13src/etc/inc/plugins.inc.d/unbound.inc
+4-2src/opnsense/mvc/app/controllers/OPNsense/Unbound/Api/ServiceController.php
+2-1src/opnsense/mvc/app/controllers/OPNsense/Dnsmasq/Api/ServiceController.php
+0-1src/etc/inc/plugins.inc.d/dnsmasq.inc
+13-174 files

OPNSense/core d583974src/etc/inc/plugins.inc.d dnsmasq.inc

dnsmasq: should have removed that ;)
DeltaFile
+0-2src/etc/inc/plugins.inc.d/dnsmasq.inc
+0-21 files

OPNSense/core 65f4122src/etc/inc/plugins.inc.d dnsmasq.inc, src/opnsense/mvc/app/controllers/OPNsense/Base ApiMutableServiceControllerBase.php

mvc: roll back MVC changes, double down using invokeLegacyConfigure()
DeltaFile
+16-4src/opnsense/mvc/app/controllers/OPNsense/Base/ApiMutableServiceControllerBase.php
+7-4src/opnsense/mvc/app/controllers/OPNsense/Unbound/Api/ServiceController.php
+6-2src/opnsense/mvc/app/controllers/OPNsense/Dnsmasq/Api/ServiceController.php
+4-1src/etc/inc/plugins.inc.d/dnsmasq.inc
+33-114 files

OPNSense/core dd02701src/etc/inc/plugins.inc.d unbound.inc dnsmasq.inc, src/opnsense/mvc/app/controllers/OPNsense/Dnsmasq/Api ServiceController.php

mvc: disable Dnsmasq/Unbound template generation; closes #8888

There are two things to consider:

1. Stopping does not alter the templates because the (re)start
   code is in charge of doing the templates, which is not called
   when a service is disabled.

2. That actually lead to an Unbound bug on stop where the file
   system is unmounted, but that should only happen when the
   service is disabled.  This runs into issue 1. again, but it's
   better to leave the system mounted until the backend kicks
   in again unmounting it anyway.
DeltaFile
+7-13src/etc/inc/plugins.inc.d/unbound.inc
+4-2src/opnsense/mvc/app/controllers/OPNsense/Unbound/Api/ServiceController.php
+2-1src/opnsense/mvc/app/controllers/OPNsense/Dnsmasq/Api/ServiceController.php
+0-1src/etc/inc/plugins.inc.d/dnsmasq.inc
+13-174 files

OPNSense/core 7b51b61src/opnsense/service/conf/actions.d actions_system.conf

system: make reboot more consistent as well
DeltaFile
+2-2src/opnsense/service/conf/actions.d/actions_system.conf
+2-21 files

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

system: consistent description for halt job

"Power off" is used mostly in our project and halting is the action before
powering off so use a clear wording that is also reflected elsewhere.
DeltaFile
+2-2src/opnsense/service/conf/actions.d/actions_system.conf
+2-21 files

OPNSense/core 171f34fsrc/opnsense/service/conf/actions.d actions_system.conf

Power: Power Off - add configd action to scheduled options. (BE 25.10)
DeltaFile
+1-0src/opnsense/service/conf/actions.d/actions_system.conf
+1-01 files

OPNSense/core cafca2esrc/opnsense/mvc/app/views/layout_partials form_input_tr.volt

mvc: add datetime-local to field types (needed for BE 25.10)
DeltaFile
+3-2src/opnsense/mvc/app/views/layout_partials/form_input_tr.volt
+3-21 files

OPNSense/core 81cd51csrc/etc/inc/plugins.inc.d dnsmasq.inc

dnsmasq: mute stop error for already being stopped; closes #9197
DeltaFile
+1-1src/etc/inc/plugins.inc.d/dnsmasq.inc
+1-11 files

OPNSense/core 03ce2ddsrc/etc/inc/plugins.inc.d unbound.inc

unbound: fix unmount in case of disable
DeltaFile
+3-3src/etc/inc/plugins.inc.d/unbound.inc
+3-31 files

OPNSense/core 1d6f2besrc/opnsense/mvc/app/models/OPNsense/Base/Constraints UniqueConstraint.php, src/opnsense/mvc/app/models/OPNsense/Kea KeaDhcpv4.xml

mvc: proposal for https://github.com/opnsense/core/issues/9199
DeltaFile
+12-2src/opnsense/mvc/app/models/OPNsense/Base/Constraints/UniqueConstraint.php
+1-0src/opnsense/mvc/app/models/OPNsense/Kea/KeaDhcpv4.xml
+13-22 files

OPNSense/core e6ce9e7src/etc/inc/plugins.inc.d unbound.inc, src/opnsense/mvc/app/controllers/OPNsense/Unbound/forms dialogHostOverride.xml

unbound: add support for TXT records in host overrides (#9188)

* unbound: add support for TXT records in host overrides

* Update src/etc/inc/plugins.inc.d/unbound.inc

Co-authored-by: Franco Fichtner <franco at opnsense.org>

---------

Co-authored-by: Franco Fichtner <franco at opnsense.org>
DeltaFile
+14-6src/opnsense/mvc/app/controllers/OPNsense/Unbound/forms/dialogHostOverride.xml
+15-0src/opnsense/mvc/app/models/OPNsense/Unbound/Unbound.xml
+7-0src/opnsense/mvc/app/views/OPNsense/Unbound/overrides.volt
+3-0src/etc/inc/plugins.inc.d/unbound.inc
+39-64 files

OPNSense/core 5b91238src/etc/inc/plugins.inc.d kea.inc, src/opnsense/mvc/app/controllers/OPNsense/Kea/forms dialogReservation4.xml dialogSubnet4.xml

KEA DHCPv4: honor client specific reservation domain name option (#9186)

* KEA DHCPv4: honor client specific reservation domain name option

Register in DNS with the client specific reservation domain name when specified.

Unbound requires reload.

* Update src/opnsense/mvc/app/controllers/OPNsense/Kea/forms/dialogReservation4.xml

Co-authored-by: Franco Fichtner <franco at lastsummer.de>

* Update src/opnsense/mvc/app/controllers/OPNsense/Kea/forms/dialogSubnet4.xml

Co-authored-by: Franco Fichtner <franco at lastsummer.de>

---------

Co-authored-by: Franco Fichtner <franco at lastsummer.de>
DeltaFile
+3-1src/etc/inc/plugins.inc.d/kea.inc
+1-1src/opnsense/mvc/app/controllers/OPNsense/Kea/forms/dialogReservation4.xml
+1-1src/opnsense/mvc/app/controllers/OPNsense/Kea/forms/dialogSubnet4.xml
+5-33 files