OPNSense/core 13040e2src/opnsense/mvc/app/models/OPNsense/OpenVPN OpenVPN.xml

openvpn: Adding options for legacy ciphers (#9829)

Signed-off-by: Bjoern Jakobsen <Bjoern.Jakobsen at lrz.de>
DeltaFile
+46-8src/opnsense/mvc/app/models/OPNsense/OpenVPN/OpenVPN.xml
+46-81 files

OPNSense/core b88621asrc/opnsense/www/js opnsense_health.js

UI: restore canvas state in health graph (#9827)

Fixed health graph bug on Firefox causing graph to shrink after hovering over it for an extended amount of time. The problem was caused by ctx.save() being called repeatedly during hovering. This caused a rendering degradation, because Firefox is stricter about canvas state stack growth. Added ctx.restore() so every save state gets restored and removed from the stack so the canvas doesn't accumulate state. Graph behaves properly on Chrome and Firefox now.

Fixes #9528
DeltaFile
+2-0src/opnsense/www/js/opnsense_health.js
+2-01 files

OPNSense/core 36b17adsrc/opnsense/mvc/app/models/OPNsense/Base/FieldTypes PortField.php, src/opnsense/mvc/tests/app/models/OPNsense/Base/FieldTypes PortFieldTest.php

tests: PortField: test well-known values against system #9835

Obsolete services have been removed which makes them error out.
Not sure if worth migrating or making the whole thing more clever.

Two appear to have been renamed.
DeltaFile
+28-25src/opnsense/mvc/tests/app/models/OPNsense/Base/FieldTypes/PortFieldTest.php
+2-10src/opnsense/mvc/app/models/OPNsense/Base/FieldTypes/PortField.php
+30-352 files

OPNSense/core 4c7b16esrc/opnsense/mvc/app/models/OPNsense/Base/FieldTypes PortField.php

mvc: PortField: "wins" is known as "nameserver", sort list #9835

It makes sense to test all of these values in the unittest then
before this breaks during an OS update.
DeltaFile
+13-13src/opnsense/mvc/app/models/OPNsense/Base/FieldTypes/PortField.php
+13-131 files

OPNSense/core b62fca7src/www interfaces_assign.php

interfaces: capture enter key during assignment

This is done to trigger the correct action in the form.

Reported by: @sheridans
DeltaFile
+7-1src/www/interfaces_assign.php
+7-11 files

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

firewall: fix running into error using well known protocols with "-" in them #9835

The ordering is debatable. For now just make sure that we didn't miss the
chance to look up the original one and accept it as is.
DeltaFile
+1-1src/opnsense/mvc/app/library/OPNsense/Firewall/Rule.php
+1-11 files

OPNSense/core ca2a344src/etc/rc.syshook.d/monitor 20-recover

system: one tabs vs. spaces issue
DeltaFile
+1-1src/etc/rc.syshook.d/monitor/20-recover
+1-11 files

OPNSense/core 9a691f5src/etc/inc/plugins.inc.d radvd.inc

radvd: fold $primary identification into $stanzas for #9815
DeltaFile
+9-8src/etc/inc/plugins.inc.d/radvd.inc
+9-81 files

OPNSense/core 13f45bcsrc/opnsense/mvc/app/views/OPNsense/Diagnostics log.volt, src/opnsense/www/js opnsense_bootgrid.js

log files: fix 'go to page' edge case and row count persistence/max

The log controller defines 5000 rows as the limit to prevent OOM
issues, however, since the front-end knows nothing about this,
setting the row count to "all" will only show the first
5000 result without a way to paginate, even if there are more
log entries. Logically, if the controller defines 5000 as a limit,
the view shouldn't allow "all" as a selection, so override it here.

Furthermore, row count "all" was a boolean, which broke the "go to page"
button. While "all" isn't allowed anymore now, we should check
if the value is a boolean regardless. Also, the grid wasn't
indexing on "rnum" properly, so the grid had no idea where to scroll
to once clicked.
DeltaFile
+6-2src/opnsense/mvc/app/views/OPNsense/Diagnostics/log.volt
+2-1src/opnsense/www/js/opnsense_bootgrid.js
+8-32 files

OPNSense/core 65b3a98src/opnsense/mvc/app/views/OPNsense/Firewall dnat_rule.volt npt_rule.volt

firewall: the other part of #9821
DeltaFile
+1-1src/opnsense/mvc/app/views/OPNsense/Firewall/dnat_rule.volt
+1-1src/opnsense/mvc/app/views/OPNsense/Firewall/npt_rule.volt
+1-1src/opnsense/mvc/app/views/OPNsense/Firewall/onat_rule.volt
+3-33 files

OPNSense/core 435a36esrc/opnsense/mvc/app/views/OPNsense/Firewall snat_rule.volt

firewal:: fix snat rule enabled check (#9821)

DeltaFile
+1-1src/opnsense/mvc/app/views/OPNsense/Firewall/snat_rule.volt
+1-11 files

OPNSense/core 64dbf01src/opnsense/mvc/app/models/OPNsense/Base/FieldTypes BaseListField.php AuthGroupField.php

mvc: BaseListField: shared implementation of $internalStaticOptionList, proof of concept for https://github.com/opnsense/core/issues/9816

Wrap static access in protected functions which ensures content is static per inherited class:

hasStaticOptions()
getStaticOptions()
setStaticOptions(array)
resetStaticOptions()
DeltaFile
+26-0src/opnsense/mvc/app/models/OPNsense/Base/FieldTypes/BaseListField.php
+7-13src/opnsense/mvc/app/models/OPNsense/Base/FieldTypes/AuthGroupField.php
+33-132 files

OPNSense/core 3316148src/opnsense/mvc/app/controllers/OPNsense/Unbound/Api OverviewController.php

unbound: simplify getPoliciesAction() a bit for  https://github.com/opnsense/core/issues/9814
DeltaFile
+1-7src/opnsense/mvc/app/controllers/OPNsense/Unbound/Api/OverviewController.php
+1-71 files

OPNSense/core 00b5984src/opnsense/mvc/app/controllers/OPNsense/Unbound/Api OverviewController.php, src/opnsense/mvc/app/views/OPNsense/Unbound overview.volt

unbound: move policy fetch to the controller, clean up accordingly. Fixes https://github.com/opnsense/core/issues/9814
DeltaFile
+104-108src/opnsense/mvc/app/views/OPNsense/Unbound/overview.volt
+9-26src/opnsense/mvc/app/controllers/OPNsense/Unbound/Api/OverviewController.php
+113-1342 files

OPNSense/core 0c84963src/opnsense/www/js opnsense_bootgrid.js

bootgrid: swap order of custom commands placement making sure they participate in command binding

(cherry picked from commit 5b3b163ce0d93d41fcb141807c6d76389178ad1b)
DeltaFile
+5-5src/opnsense/www/js/opnsense_bootgrid.js
+5-51 files

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

firewall: tweak comment

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

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

firewall: tweak comment
DeltaFile
+1-1src/opnsense/mvc/app/library/OPNsense/Firewall/Rule.php
+1-11 files

OPNSense/core b92c060. plist

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

OPNSense/core 9768d8fsrc/opnsense/mvc/app/library/OPNsense/Firewall Rule.php FilterRule.php, src/opnsense/mvc/tests/app/library/OPNsense/Firewall FilterRuleTest.php

firewall: adjust for parseReplace() for icmp-type "skip"; closes #9738

(cherry picked from commit a09fab2c8db5b2073cce34620afa35049a85d12e)
(cherry picked from commit cd409c5729e1f73eb128812083f5c555f81257ed)
DeltaFile
+12-11src/opnsense/mvc/app/library/OPNsense/Firewall/Rule.php
+15-0src/opnsense/mvc/tests/app/library/OPNsense/Firewall/FilterRuleTest.php
+2-2src/opnsense/mvc/app/library/OPNsense/Firewall/FilterRule.php
+4-0src/opnsense/mvc/tests/app/library/OPNsense/Firewall/FilterRuleTest/testIcmp.conf
+33-134 files

OPNSense/core 902e053src/opnsense/mvc/app/models/OPNsense/Firewall Filter.xml

Firewall: Rules [new]: Implement missing ICMP types (#9731)

Signed-off-by: Bjoern Jakobsen <Bjoern.Jakobsen at lrz.de>
(cherry picked from commit 4534e73dd731994a0ed52aaa79cc4c773bc7ac7b)
DeltaFile
+29-16src/opnsense/mvc/app/models/OPNsense/Firewall/Filter.xml
+29-161 files

OPNSense/core d0bc5eesrc/opnsense/mvc/app/models/OPNsense/Base/FieldTypes CertificateField.php, src/opnsense/mvc/tests/app/models/OPNsense/Base/FieldTypes CertificateFieldTest.php InterfaceFieldTest.php

mvc: CertificateField: same as 870692c154f

It's time to create a ticket for generalisation because now
resetStaticOptionList() is declared in two places also hinting
at a shared functionality in BaseListField.

(cherry picked from commit 104d5f02f894be47b43e4403d3a0d4f84ab740f9)
DeltaFile
+24-23src/opnsense/mvc/tests/app/models/OPNsense/Base/FieldTypes/CertificateFieldTest.php
+8-0src/opnsense/mvc/app/models/OPNsense/Base/FieldTypes/CertificateField.php
+2-1src/opnsense/mvc/tests/app/models/OPNsense/Base/FieldTypes/InterfaceFieldTest.php
+34-243 files

OPNSense/core 104d5f0src/opnsense/mvc/app/models/OPNsense/Base/FieldTypes CertificateField.php, src/opnsense/mvc/tests/app/models/OPNsense/Base/FieldTypes CertificateFieldTest.php InterfaceFieldTest.php

mvc: CertificateField: same as 870692c154f

It's time to create a ticket for generalisation because now
resetStaticOptionList() is declared in two places also hinting
at a shared functionality in BaseListField.
DeltaFile
+24-23src/opnsense/mvc/tests/app/models/OPNsense/Base/FieldTypes/CertificateFieldTest.php
+8-0src/opnsense/mvc/app/models/OPNsense/Base/FieldTypes/CertificateField.php
+2-1src/opnsense/mvc/tests/app/models/OPNsense/Base/FieldTypes/InterfaceFieldTest.php
+34-243 files

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

firewall: squelch a warning triggered by tests
DeltaFile
+1-1src/opnsense/mvc/app/library/OPNsense/Firewall/Rule.php
+1-11 files

OPNSense/core 8df3fafsrc/opnsense/mvc/app/views/OPNsense/Core firmware.volt

firmware: shorten this message, spinner now back to same line

(cherry picked from commit a5c1076188a658aff30e755944c6c84d4be1bc30)
DeltaFile
+2-2src/opnsense/mvc/app/views/OPNsense/Core/firmware.volt
+2-21 files

OPNSense/core 1046f6asrc/opnsense/mvc/app/views/OPNsense/Core firmware.volt

firmware: fix this annoying UX bug not hiding advanced options

(cherry picked from commit 0ed6359197e89025961a22ba5bb0cfc736edfbb4)
DeltaFile
+1-1src/opnsense/mvc/app/views/OPNsense/Core/firmware.volt
+1-11 files

OPNSense/core bc7f22csrc/opnsense/scripts/filter update_tables.py, src/opnsense/scripts/filter/lib/alias __init__.py

Firewall: Aliases - better focus selected alias updates to in crease performance when either --aliases or --types is used.

(cherry picked from commit df17f3ce819c498bec819e1d8d9ed63e2cb84f60)
DeltaFile
+20-0src/opnsense/scripts/filter/lib/alias/__init__.py
+8-1src/opnsense/scripts/filter/update_tables.py
+28-12 files

OPNSense/core ff53ff6src/etc/inc config.inc

backend: rename to config_push_array() for clarity
DeltaFile
+1-1src/etc/inc/config.inc
+1-11 files

OPNSense/core 18c3f11src/etc/inc rrd.inc

reporting: adapt config_read_array() in rrd_import()

Note to self: can find more of these using

    % git grep 'foreach..$config\['
DeltaFile
+1-3src/etc/inc/rrd.inc
+1-31 files

OPNSense/core d97bebbsrc/etc/inc config.inc, src/etc/inc/plugins.inc.d webgui.inc

backend: rename to config_push_array() since "write" is confusing
DeltaFile
+2-2src/opnsense/scripts/shell/password.php
+1-1src/etc/inc/plugins.inc.d/webgui.inc
+1-1src/etc/inc/config.inc
+4-43 files

OPNSense/core bbf4ec5src/opnsense/scripts/monit gateway_alert.php

monit: one config_read_array() candidate
DeltaFile
+17-19src/opnsense/scripts/monit/gateway_alert.php
+17-191 files