OPNSense/core 66e0e74src/opnsense/mvc/app/controllers/OPNsense/Dnsmasq/Api SettingsController.php, src/opnsense/mvc/app/models/OPNsense/Dnsmasq Dnsmasq.xml

dnsmasq: migrate to MVC/API, backend work for https://github.com/opnsense/core/issues/8329
DeltaFile
+207-0src/opnsense/mvc/app/views/OPNsense/Dnsmasq/settings.volt
+166-0src/opnsense/mvc/app/controllers/OPNsense/Dnsmasq/Api/SettingsController.php
+129-0src/opnsense/service/templates/OPNsense/Dnsmasq/dnsmasq.conf
+119-2src/opnsense/mvc/app/models/OPNsense/Dnsmasq/Dnsmasq.xml
+113-0src/opnsense/mvc/app/views/OPNsense/Dnsmasq/leases.volt
+0-105src/opnsense/mvc/app/views/OPNsense/Dnsmasq/index.volt
+734-10722 files not shown
+1,346-28328 files

OPNSense/core 85daff7src/etc/inc/plugins.inc.d dnsmasq.inc, src/opnsense/mvc/app/controllers/OPNsense/Dnsmasq/Api SettingsController.php

dnsmasq: migrate to MVC/API, backend work for https://github.com/opnsense/core/issues/8329
DeltaFile
+166-0src/opnsense/mvc/app/controllers/OPNsense/Dnsmasq/Api/SettingsController.php
+119-17src/opnsense/mvc/app/views/OPNsense/Dnsmasq/index.volt
+129-0src/opnsense/service/templates/OPNsense/Dnsmasq/dnsmasq.conf
+119-2src/opnsense/mvc/app/models/OPNsense/Dnsmasq/Dnsmasq.xml
+7-95src/etc/inc/plugins.inc.d/dnsmasq.inc
+52-26src/opnsense/mvc/app/controllers/OPNsense/Dnsmasq/forms/general.xml
+592-14015 files not shown
+962-14721 files

OPNSense/core 0923483src/etc/inc/plugins.inc.d dnsmasq.inc, src/opnsense/mvc/app/controllers/OPNsense/Dnsmasq/Api SettingsController.php

dnsmasq: migrate to MVC/API, backend work for https://github.com/opnsense/core/issues/8329
DeltaFile
+166-0src/opnsense/mvc/app/controllers/OPNsense/Dnsmasq/Api/SettingsController.php
+119-17src/opnsense/mvc/app/views/OPNsense/Dnsmasq/index.volt
+129-0src/opnsense/service/templates/OPNsense/Dnsmasq/dnsmasq.conf
+119-2src/opnsense/mvc/app/models/OPNsense/Dnsmasq/Dnsmasq.xml
+7-95src/etc/inc/plugins.inc.d/dnsmasq.inc
+52-26src/opnsense/mvc/app/controllers/OPNsense/Dnsmasq/forms/general.xml
+592-14014 files not shown
+891-14720 files

OPNSense/core 8a9fe28src/opnsense/mvc/app/views/OPNsense/Kea dhcpv4.volt

Services: Kea DHCP - minor regression in https://github.com/opnsense/core/pull/8297, button hidden due to undersized column.

Implements https://github.com/opnsense/core/commit/d192142544df5f3e32f1ae6e5247eec5098c5830 to increase the command column width.

cc @Monviech
DeltaFile
+1-1src/opnsense/mvc/app/views/OPNsense/Kea/dhcpv4.volt
+1-11 files

OPNSense/core fe91dd3src/opnsense/mvc/app/models/OPNsense/Base/FieldTypes ArrayField.php

MVC - make importCsv() [importRecordSet()]  a bit more resilient by ignoring fields we don't know of propertly
DeltaFile
+4-2src/opnsense/mvc/app/models/OPNsense/Base/FieldTypes/ArrayField.php
+4-21 files

OPNSense/core 3b52aaasrc/etc/inc/plugins.inc.d dnsmasq.inc, src/opnsense/mvc/app/controllers/OPNsense/Dnsmasq/Api SettingsController.php

dnsmasq: migrate to MVC/API, backend work for https://github.com/opnsense/core/issues/8329
DeltaFile
+166-0src/opnsense/mvc/app/controllers/OPNsense/Dnsmasq/Api/SettingsController.php
+119-17src/opnsense/mvc/app/views/OPNsense/Dnsmasq/index.volt
+129-0src/opnsense/service/templates/OPNsense/Dnsmasq/dnsmasq.conf
+119-2src/opnsense/mvc/app/models/OPNsense/Dnsmasq/Dnsmasq.xml
+7-95src/etc/inc/plugins.inc.d/dnsmasq.inc
+52-26src/opnsense/mvc/app/controllers/OPNsense/Dnsmasq/forms/general.xml
+592-14013 files not shown
+882-14719 files

OPNSense/core d192142src/opnsense/mvc/app/views/layout_partials base_bootgrid_table.volt

mvc: implement reusable grid template using form definitions. for https://github.com/opnsense/core/issues/8187

offer "command_width" property to be set in the template, defaults to 7em
DeltaFile
+1-1src/opnsense/mvc/app/views/layout_partials/base_bootgrid_table.volt
+1-11 files

OPNSense/core bd31933src/etc/inc/plugins.inc.d dnsmasq.inc, src/opnsense/mvc/app/controllers/OPNsense/Dnsmasq/Api SettingsController.php

dnsmasq: migrate to MVC/API, backend work for https://github.com/opnsense/core/issues/8329
DeltaFile
+166-0src/opnsense/mvc/app/controllers/OPNsense/Dnsmasq/Api/SettingsController.php
+119-17src/opnsense/mvc/app/views/OPNsense/Dnsmasq/index.volt
+129-0src/opnsense/service/templates/OPNsense/Dnsmasq/dnsmasq.conf
+119-2src/opnsense/mvc/app/models/OPNsense/Dnsmasq/Dnsmasq.xml
+7-95src/etc/inc/plugins.inc.d/dnsmasq.inc
+52-26src/opnsense/mvc/app/controllers/OPNsense/Dnsmasq/forms/general.xml
+592-14013 files not shown
+882-14719 files

OPNSense/core 0729ff0src/etc/inc/plugins.inc.d dnsmasq.inc, src/opnsense/mvc/app/controllers/OPNsense/Dnsmasq/Api SettingsController.php

dnsmasq: migrate to MVC/API, backend work for https://github.com/opnsense/core/issues/8329
DeltaFile
+131-0src/opnsense/mvc/app/controllers/OPNsense/Dnsmasq/Api/SettingsController.php
+129-0src/opnsense/service/templates/OPNsense/Dnsmasq/dnsmasq.conf
+119-1src/opnsense/mvc/app/models/OPNsense/Dnsmasq/Dnsmasq.xml
+94-16src/opnsense/mvc/app/views/OPNsense/Dnsmasq/index.volt
+3-94src/etc/inc/plugins.inc.d/dnsmasq.inc
+52-26src/opnsense/mvc/app/controllers/OPNsense/Dnsmasq/forms/general.xml
+528-13713 files not shown
+818-14419 files

OPNSense/core 0063b16src/etc/inc/plugins.inc.d dnsmasq.inc

dnsmasq: migrate to MVC/API, make sure service is reachable when still running and disabled so we can kill it, although not a new issue, better fix it for  https://github.com/opnsense/core/issues/7905
DeltaFile
+1-1src/etc/inc/plugins.inc.d/dnsmasq.inc
+1-11 files

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

dnsmasq: migrate to MVC/API, forgot an isset() --> !empty() in  https://github.com/opnsense/core/issues/7905
DeltaFile
+1-1src/etc/inc/plugins.inc.d/dnsmasq.inc
+1-11 files

OPNSense/core cc8b63bsrc/etc/inc/plugins.inc.d dnsmasq.inc, src/opnsense/mvc/app/controllers/OPNsense/Dnsmasq/Api SettingsController.php

dnsmasq: migrate to MVC/API, backend work for https://github.com/opnsense/core/issues/8329
DeltaFile
+131-0src/opnsense/mvc/app/controllers/OPNsense/Dnsmasq/Api/SettingsController.php
+129-0src/opnsense/service/templates/OPNsense/Dnsmasq/dnsmasq.conf
+119-1src/opnsense/mvc/app/models/OPNsense/Dnsmasq/Dnsmasq.xml
+94-16src/opnsense/mvc/app/views/OPNsense/Dnsmasq/index.volt
+4-95src/etc/inc/plugins.inc.d/dnsmasq.inc
+52-26src/opnsense/mvc/app/controllers/OPNsense/Dnsmasq/forms/general.xml
+529-13813 files not shown
+819-14519 files

OPNSense/core 8f42727src/opnsense/mvc/app/controllers/OPNsense/Diagnostics/Api SystemController.php, src/opnsense/scripts/openvpn user_pass_verify.php

src: style sweep
DeltaFile
+2-2src/opnsense/mvc/app/controllers/OPNsense/Diagnostics/Api/SystemController.php
+2-1src/opnsense/scripts/openvpn/user_pass_verify.php
+4-32 files

OPNSense/core de9078csrc/opnsense/mvc/app/controllers/OPNsense/OpenVPN/Api ClientOverwritesController.php InstancesController.php, src/opnsense/mvc/app/controllers/OPNsense/OpenVPN/forms dialogInstance.xml dialogCSO.xml

vpn/openvpn: Implement base_bootgrid_table and base_apply_button for https://github.com/opnsense/core/issues/8318
DeltaFile
+219-0src/opnsense/mvc/app/controllers/OPNsense/OpenVPN/forms/dialogInstance.xml
+15-69src/opnsense/mvc/app/views/OPNsense/OpenVPN/instances.volt
+56-0src/opnsense/mvc/app/controllers/OPNsense/OpenVPN/forms/dialogCSO.xml
+4-25src/opnsense/mvc/app/views/OPNsense/OpenVPN/cso.volt
+1-4src/opnsense/mvc/app/controllers/OPNsense/OpenVPN/Api/ClientOverwritesController.php
+1-4src/opnsense/mvc/app/controllers/OPNsense/OpenVPN/Api/InstancesController.php
+296-1023 files not shown
+304-1029 files

OPNSense/core 582f9b5src/opnsense/www/js/widgets ThermalSensors.js

dashboard: thermal sensors: use configured dataset count as height
DeltaFile
+1-1src/opnsense/www/js/widgets/ThermalSensors.js
+1-11 files

OPNSense/core c5eed01src/opnsense/mvc/app/controllers/OPNsense/Diagnostics/Api SystemController.php, src/opnsense/www/js/widgets ThermalSensors.js

system: thermal sensors widget improvements (#8331)

* system: thermal sensors improvements

* dashboard: thermal sensors: improve UI

* dashboard: thermal sensors: rendered text slightly off-center

* system: fix off by one ;)

---------

Co-authored-by: Stephan de Wit <stephan.de.wit at deciso.com>
DeltaFile
+68-19src/opnsense/www/js/widgets/ThermalSensors.js
+10-4src/opnsense/mvc/app/controllers/OPNsense/Diagnostics/Api/SystemController.php
+78-232 files

OPNSense/core 8246433src/opnsense/www/js/widgets Firewall.js BaseGaugeWidget.js

dashboard: colorscheme plugin is forced by default unless explicitly disabled
DeltaFile
+3-0src/opnsense/www/js/widgets/Firewall.js
+1-1src/opnsense/www/js/widgets/BaseGaugeWidget.js
+1-0src/opnsense/www/js/widgets/Disk.js
+1-0src/opnsense/www/js/widgets/InterfaceStatistics.js
+1-0src/opnsense/www/js/widgets/ThermalSensors.js
+7-15 files

OPNSense/core 2642dd6src/opnsense/mvc/app/views/OPNsense/CaptivePortal vouchers.volt

Services: Captive Portal: Vouchers - urlencode() selector items in vouchergrouplist, closes https://github.com/opnsense/core/issues/8319

Although this isn't the prettiest option in the world, it does solve the issue. It would have been better if we had "keyed" the items in some way so input is less sensitive for issues like these

(cherry picked from commit a3d588cca2a045a3c2b07c6e98825a3bce0367e2)
DeltaFile
+1-1src/opnsense/mvc/app/views/OPNsense/CaptivePortal/vouchers.volt
+1-11 files

OPNSense/core 45be6d3src/opnsense/scripts/routes gateway_watcher.php

system: dial this back, right intention wrong reason #8199
DeltaFile
+10-4src/opnsense/scripts/routes/gateway_watcher.php
+10-41 files

OPNSense/core e28aa1asrc/etc/rc.syshook.d/monitor 20-recover, src/opnsense/scripts/routes gateway_watcher.php

system: oversighs in #8199
DeltaFile
+2-2src/opnsense/scripts/routes/gateway_watcher.php
+1-0src/etc/rc.syshook.d/monitor/20-recover
+3-22 files

OPNSense/core 360d4b0src/opnsense/mvc/app/controllers/OPNsense/Unbound/forms dialogDot.xml, src/opnsense/mvc/app/models/OPNsense/Unbound Unbound.xml

unbound: add support for forward-first when configuring forwarders (#8275)

Signed-off-by: Nigel Jones <nigel.l.jones+git at gmail.com>

(cherry picked from commit 405ee249fb663dab22d5c7c18fbe2ae6af9a4f6e)
(cherry picked from commit a8c84bea0c1b5adcd122cd642561838c7a1a1506)
DeltaFile
+13-0src/opnsense/mvc/app/controllers/OPNsense/Unbound/forms/dialogDot.xml
+10-1src/opnsense/service/templates/OPNsense/Unbound/core/dot.conf
+5-1src/opnsense/mvc/app/models/OPNsense/Unbound/Unbound.xml
+28-23 files

OPNSense/core 752640bsrc/www firewall_rules.php

Firewall: Rules - properly unpack multiple source/destination items. closes https://github.com/opnsense/core/issues/8321

(cherry picked from commit e248e4517f1d85820142aa42a0d465b5a8905d61)
DeltaFile
+31-12src/www/firewall_rules.php
+31-121 files

OPNSense/core 5a7cd79src/opnsense/mvc/app/controllers/OPNsense/Kea/forms dialogSubnet4.xml, src/opnsense/mvc/app/models/OPNsense/Kea KeaDhcpv4.xml

Expose Kea option v6-only-preferred in the GUI (#8286)

* Add Kea GUI options for IPv6-only Preferred (option 108)

* Indentation

* Add advanced, mention option 108 in option title, mention minim value in help

(cherry picked from commit 3aee9456bd9180dcbd296fbaa133563c8af33f95)
DeltaFile
+10-0src/opnsense/mvc/app/controllers/OPNsense/Kea/forms/dialogSubnet4.xml
+3-0src/opnsense/mvc/app/models/OPNsense/Kea/KeaDhcpv4.xml
+13-02 files

OPNSense/core aaebe4esrc/opnsense/www/js/widgets Disk.js BaseGaugeWidget.js

dashboard: block display interferes with responsive layouts

chart.js canvas elements default their display to block, which can
cause sub-pixel rounding errors, in turn causing flickering when
the canvas element is interacted with (reproducible on Firefox).

'display: inline-block' fixes this, and while one could specify this
in css, this would have to be combined with !important, as the style
ordering prefers styles either set hardcoded inline or via JS. This
has the obvious downside that a canvas element cannot be hidden anymore,
as it's display setting would always be forced.

The only solution in terms of ordering is to override the inline style
by setting it in the canvas element directly as this commit is doing.

All canvas elements used by widgets which fit the following criteria
must use this inline style:

- a canvas element is used by chart.js

    [3 lines not shown]
DeltaFile
+2-2src/opnsense/www/js/widgets/Disk.js
+1-1src/opnsense/www/js/widgets/BaseGaugeWidget.js
+1-1src/opnsense/www/js/widgets/Firewall.js
+1-1src/opnsense/www/js/widgets/InterfaceStatistics.js
+5-54 files

OPNSense/core af235da. plist, src/etc rc.routing_configure

system: change the "monitor" syshook and de-deprecate; closese #8199

We move the gateway recovery into the hook as a user and users
can do their on similar scripts to fetch current status and
inspect and react accordingly.  We do so before filter reload
to avoid excessive reloads in the facility script(s).

What this loses is the ability to get the previous argments
for statistics, but OTOH it also reduces the risk for spurious
events as we only trigger on state transitions.
DeltaFile
+43-0src/etc/rc.syshook.d/monitor/20-recover
+5-21src/opnsense/scripts/routes/gateway_watcher.php
+5-13src/etc/rc.routing_configure
+0-3src/etc/rc.syshook.d/monitor/10-dpinger
+1-1plist
+54-385 files

OPNSense/core 5717222src/opnsense/mvc/app/controllers/OPNsense/Interfaces/forms dialogVxlan.xml, src/opnsense/mvc/app/views/OPNsense/Interface vxlan.volt

interface: vxlan.volt add vxlanFormatter to turn device ID into vxlanX in the grid
DeltaFile
+8-1src/opnsense/mvc/app/views/OPNsense/Interface/vxlan.volt
+2-2src/opnsense/mvc/app/controllers/OPNsense/Interfaces/forms/dialogVxlan.xml
+10-32 files

OPNSense/core 11b7ca4. plist, src/etc rc

system: add an "import" syshook; closes #8325

Allow import hooks to be overwritten or manipulated.
No functional changes but it allows to bootstrap a
/conf/config.xml before opnsense-importer (making it
skip import) or modifying the imported /conf/config.xml
afterwards.
DeltaFile
+4-0src/etc/rc.syshook.d/import/20-importer
+2-2src/etc/rc
+1-0plist
+7-23 files

OPNSense/core ea4fcf8src/opnsense/mvc/app/controllers/OPNsense/Interfaces/forms dialogLoopback.xml, src/opnsense/mvc/app/views/OPNsense/Interface loopback.volt

interface: loopback.volt add loFormatter to turn device ID into loX in the grid
DeltaFile
+8-1src/opnsense/mvc/app/views/OPNsense/Interface/loopback.volt
+3-0src/opnsense/mvc/app/controllers/OPNsense/Interfaces/forms/dialogLoopback.xml
+11-12 files

OPNSense/core 0871808. plist, src/opnsense/mvc/app/views/OPNsense/Diagnostics health.volt traffic.volt

system: update Chart.js to 4.4.7
DeltaFile
+14-0src/opnsense/www/js/chart.umd.min.js
+0-14src/opnsense/www/js/chart.umd.js
+1-1src/opnsense/mvc/app/views/OPNsense/Diagnostics/health.volt
+1-1src/opnsense/mvc/app/views/OPNsense/Diagnostics/traffic.volt
+1-1src/opnsense/mvc/app/views/OPNsense/Unbound/overview.volt
+1-1plist
+18-181 files not shown
+19-197 files

OPNSense/core 8586b29src/opnsense/mvc/app/controllers/OPNsense/Diagnostics/Api SystemController.php

system: fix off by one ;)
DeltaFile
+1-1src/opnsense/mvc/app/controllers/OPNsense/Diagnostics/Api/SystemController.php
+1-11 files