OPNSense/core 63b9f2esrc/etc/inc system.inc, src/www system_general.php

system: allow multiple manual DNS search domains; closes #8522

The length and input isn't bound but when writing resolv.conf
we will adhere to the requirement mentioned in the man page:

    The search list is currently limited to six domains
    with a total of 256 characters.

We simply don't always know how many the system was being provided
with from the ISP so it is what it is.
DeltaFile
+20-7src/www/system_general.php
+10-6src/etc/inc/system.inc
+30-132 files

OPNSense/core 507857fsrc/opnsense/scripts/filter/lib/alias uri.py

Firewall: Aliases - fix regression in alias table in json format (https://github.com/opnsense/core/issues/8277)

In order to support both formats, we should break with the first succesful compile().

A workaround in the current version is to omit the {.} in the path expression.

(cherry picked from commit 7ec7e1d174b5470c339e5a9653b01ea2b17a7134)
DeltaFile
+1-0src/opnsense/scripts/filter/lib/alias/uri.py
+1-01 files

OPNSense/core 30fcc7asrc/opnsense/mvc/app/views/OPNsense/Firewall filter_rule.volt, src/opnsense/www/css jquery.bootgrid.css

Revert "bootgrid: resizable columns (#8496)"

This reverts commit de5dd5f5278edbae14bfa1bc76751ae360b834e0.

table-layout: auto; seems to do more harm than good, while originally
intended to improve out-of-bounds table row situations, it proves
to cause the same issue for long cell content as it now
ignores overflow:ellipsis.

(cherry picked from commit dbf37413b94997a7a9ec476ef584b01597ed1f59)
DeltaFile
+4-321src/opnsense/www/js/jquery.bootgrid.js
+1-32src/opnsense/www/css/jquery.bootgrid.css
+1-32src/opnsense/www/themes/opnsense-dark/build/css/jquery.bootgrid.css
+0-1src/opnsense/mvc/app/views/OPNsense/Firewall/filter_rule.volt
+6-3864 files

OPNSense/core dbf3741src/opnsense/mvc/app/views/OPNsense/Firewall filter_rule.volt, src/opnsense/www/css jquery.bootgrid.css

Revert "bootgrid: resizable columns (#8496)"

This reverts commit de5dd5f5278edbae14bfa1bc76751ae360b834e0.

table-layout: auto; seems to do more harm than good, while originally
intended to improve out-of-bounds table row situations, it proves
to cause the same issue for long cell content as it now
ignores overflow:ellipsis.
DeltaFile
+4-321src/opnsense/www/js/jquery.bootgrid.js
+1-32src/opnsense/www/css/jquery.bootgrid.css
+1-32src/opnsense/www/themes/opnsense-dark/build/css/jquery.bootgrid.css
+0-1src/opnsense/mvc/app/views/OPNsense/Firewall/filter_rule.volt
+6-3864 files

OPNSense/core 4720675src/opnsense/mvc/app/models/OPNsense/Dnsmasq Dnsmasq.php

dnsmasq: Put IPv6 value check inline since dhcp-match and dhcp-option have been unified in master.
DeltaFile
+30-33src/opnsense/mvc/app/models/OPNsense/Dnsmasq/Dnsmasq.php
+30-331 files

OPNSense/core ad28873src/opnsense/mvc/app/controllers/OPNsense/Dnsmasq/Api SettingsController.php, src/opnsense/mvc/app/controllers/OPNsense/Dnsmasq/forms dialogDHCPmatch.xml

Merge branch 'master' into kea-validate-option6
DeltaFile
+0-32src/opnsense/mvc/app/controllers/OPNsense/Dnsmasq/forms/dialogDHCPmatch.xml
+0-27src/opnsense/mvc/app/models/OPNsense/Dnsmasq/Dnsmasq.php
+0-26src/opnsense/mvc/app/controllers/OPNsense/Dnsmasq/Api/SettingsController.php
+11-14src/opnsense/mvc/app/models/OPNsense/Dnsmasq/Dnsmasq.xml
+11-11src/opnsense/mvc/app/views/OPNsense/Dnsmasq/settings.volt
+9-9src/opnsense/service/templates/OPNsense/Dnsmasq/dnsmasq.conf
+31-1196 files not shown
+55-13012 files

OPNSense/core 732a393src/opnsense/mvc/app/controllers/OPNsense/Dnsmasq/Api SettingsController.php, src/opnsense/mvc/app/controllers/OPNsense/Dnsmasq/forms dialogDHCPmatch.xml dialogDHCPoption.xml

dnsmasq: Unify dhcp-option and dhcp-match in the same grid (#8516)

* dnsmasq: Unify dhcp-option and dhcp-match in the same grid

Both dhcp-option and dhcp-match use almost the same fields in the form and concern the same options.
Unifying them could make sense to remove some duplicate code and potentially improving the UX.

* make plist and remove console log debug statement
DeltaFile
+0-32src/opnsense/mvc/app/controllers/OPNsense/Dnsmasq/forms/dialogDHCPmatch.xml
+0-26src/opnsense/mvc/app/controllers/OPNsense/Dnsmasq/Api/SettingsController.php
+11-14src/opnsense/mvc/app/models/OPNsense/Dnsmasq/Dnsmasq.xml
+11-11src/opnsense/mvc/app/views/OPNsense/Dnsmasq/settings.volt
+3-19src/opnsense/mvc/app/models/OPNsense/Dnsmasq/Dnsmasq.php
+17-1src/opnsense/mvc/app/controllers/OPNsense/Dnsmasq/forms/dialogDHCPoption.xml
+42-1034 files not shown
+51-11610 files

OPNSense/core 7ec7e1dsrc/opnsense/scripts/filter/lib/alias uri.py

Firewall: Aliases - fix regression in alias table in json format (https://github.com/opnsense/core/issues/8277)

In order to support both formats, we should break with the first succesful compile().

A workaround in the current version is to omit the {.} in the path expression.
DeltaFile
+1-0src/opnsense/scripts/filter/lib/alias/uri.py
+1-01 files

OPNSense/core 82742ecsrc/opnsense/mvc/app/models/OPNsense/Dnsmasq Dnsmasq.php

dnsmasq: Improve the IPv6 bracket check, also handle multiple ipv6 addresses that are comma separated, use isIpv6Address()
DeltaFile
+35-30src/opnsense/mvc/app/models/OPNsense/Dnsmasq/Dnsmasq.php
+35-301 files

OPNSense/core 97da222src/www services_router_advertisements.php

radvd: refactor use of get_configured_carp_interface_list()
DeltaFile
+6-6src/www/services_router_advertisements.php
+6-61 files

OPNSense/core fba96d2src/opnsense/mvc/app/models/OPNsense/Dnsmasq Dnsmasq.php

dnsmasq: Implement a light validation for option6 values as they require to be wrapped inside square brackets if they contain an IPv6 address
DeltaFile
+32-0src/opnsense/mvc/app/models/OPNsense/Dnsmasq/Dnsmasq.php
+32-01 files

OPNSense/core ef1c4e0src/opnsense/mvc/app/models/OPNsense/Kea/ACL ACL.xml

kea: Fix missing ACL privileges (#8519)

DeltaFile
+18-0src/opnsense/mvc/app/models/OPNsense/Kea/ACL/ACL.xml
+18-01 files

OPNSense/core eb826d4. plist, src/opnsense/mvc/app/views/OPNsense/Dnsmasq settings.volt

make plist and remove console log debug statement
DeltaFile
+0-1plist
+0-1src/opnsense/mvc/app/views/OPNsense/Dnsmasq/settings.volt
+0-22 files

OPNSense/core c96387fsrc/opnsense/mvc/app/models/OPNsense/Kea/ACL ACL.xml

kea: Fix missing ACL privileges
DeltaFile
+18-0src/opnsense/mvc/app/models/OPNsense/Kea/ACL/ACL.xml
+18-01 files

OPNSense/core adf95bcsrc/www services_router_advertisements.php

radvd: fix description lookup for #8512
DeltaFile
+1-1src/www/services_router_advertisements.php
+1-11 files

OPNSense/core 25d629fsrc/www services_router_advertisements.php

radvd: fix list of source addresses on overlapping link-locals (#8517)

DeltaFile
+4-3src/www/services_router_advertisements.php
+4-31 files

OPNSense/core e6eecf7src/opnsense/mvc/app/models/OPNsense/Firewall/FieldTypes GroupField.php

firewall: tweak

(cherry picked from commit 384af7f0194eec0722327c12d9bc2a2621266403)
(cherry picked from commit 557b793a4ed5a79918a1b0b942236138fc1c64bf)
DeltaFile
+23-25src/opnsense/mvc/app/models/OPNsense/Firewall/FieldTypes/GroupField.php
+23-251 files

OPNSense/core 557b793src/opnsense/mvc/app/models/OPNsense/Firewall/FieldTypes GroupField.php

mvc: style
DeltaFile
+23-25src/opnsense/mvc/app/models/OPNsense/Firewall/FieldTypes/GroupField.php
+23-251 files

OPNSense/core 17dcdaesrc/opnsense/mvc/app/models/OPNsense/Unbound Unbound.xml

unbound: model style

(cherry picked from commit 433d8d62b3f8f2ef754c19b45bed82e937303395)
DeltaFile
+0-1src/opnsense/mvc/app/models/OPNsense/Unbound/Unbound.xml
+0-11 files

OPNSense/core ba682e4src/opnsense/mvc/app/controllers/OPNsense/Firewall FilterController.php, src/opnsense/mvc/app/controllers/OPNsense/Firewall/Api FilterController.php

firewall: automation: correct check order

(cherry picked from commit 9c68e2eb3c447e68bf92e37c81a4fad265e02596)
(cherry picked from commit c1e601f8cb7551faaf15bc8180d4d3a05fb64416)
(cherry picked from commit 62536e40eee7a61b46dd9d4096e42bf82b39a692)
DeltaFile
+5-6src/opnsense/mvc/app/controllers/OPNsense/Firewall/Api/FilterController.php
+1-2src/opnsense/mvc/app/controllers/OPNsense/Firewall/FilterController.php
+0-1src/opnsense/mvc/app/controllers/OPNsense/Firewall/forms/dialogFilterRule.xml
+6-93 files

OPNSense/core 8d589ddsrc/opnsense/mvc/app/views/OPNsense/Auth user.volt, src/opnsense/mvc/app/views/layout_partials base_dialog.volt base_form.volt

mvc/view: Ensure fields stay aligned relatively to another when headers are used in forms (#8364)

(cherry picked from commit 387c3813000be8d64e58da0c82014574729545a8)
(cherry picked from commit 46999a32c3a76d21d285b1ae96fbdf2feb3d60d3)
DeltaFile
+27-7src/opnsense/mvc/app/views/layout_partials/base_dialog.volt
+20-9src/opnsense/mvc/app/views/layout_partials/base_form.volt
+0-6src/opnsense/mvc/app/views/OPNsense/Auth/user.volt
+47-223 files

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

firmware: "fix" the issue of user clicking check after clicking check from dashboard

We could move the check to backend() at the risk of breaking firmware upgrades on
errors.  Breaking the auto-check seems like the lesser evil.

In reality you can always go back to the status tab and re-create the issue by
clicking check for updates again after already having it clicked.  That is why the
page actually switches to the updates tab on click.  The update click is also delayed
to give the status call to fill the status tab first which immitates a normal page
render.

The issue actually appears because:

1. Backend options are detached and are dispatched, but since they run in the backround
   we don't return any feedback because we don't have it.  This then...
2. ... creates a parallel chain of trackStatus() calls which eventually reports the same
   modal.

The issue only appears when no updates are found or triggering a separate error modal.

    [7 lines not shown]
DeltaFile
+8-2src/opnsense/mvc/app/views/OPNsense/Core/firmware.volt
+8-21 files

OPNSense/core db3814fsrc/opnsense/mvc/app/controllers/OPNsense/Core/Api FirmwareController.php, src/opnsense/mvc/app/views/OPNsense/Core firmware.volt

firmware: add cleanup script #8154

(cherry picked from commit 2774a9b4984649057ee1f7ac64a2b1c54873058e)
(cherry picked from commit d8ecd8c31bc203c09626f8500fe6866dff3f39a5)
(cherry picked from commit 3a9e9edefe55e8d752f91d831a1953607cd889f8)
(cherry picked from commit b2dc6fed7cd1f3b1335b4aa889f6033c5a62fc67)
DeltaFile
+34-31src/opnsense/mvc/app/controllers/OPNsense/Core/Api/FirmwareController.php
+40-0src/opnsense/scripts/firmware/cleanup.sh
+4-2src/opnsense/mvc/app/views/OPNsense/Core/firmware.volt
+5-1src/opnsense/scripts/shell/firmware.sh
+6-0src/opnsense/service/conf/actions.d/actions_firmware.conf
+1-0src/opnsense/scripts/firmware/config.sh
+90-341 files not shown
+91-347 files

OPNSense/core b2f18f1src/opnsense/scripts/netflow flowd_aggregate.py, src/opnsense/scripts/netflow/lib __init__.py

Reporting / Insight - move single_pass to command line parameters for easier debugging

(cherry picked from commit d73ec9feaeba7eb1fb21ab95a7273060e39c7c96)
DeltaFile
+7-4src/opnsense/scripts/netflow/flowd_aggregate.py
+0-1src/opnsense/scripts/netflow/lib/__init__.py
+7-52 files

OPNSense/core 90870c3src/opnsense/www/js/widgets OpenVPNClients.js

Display OpenVPN virtual IPv6 addresses for OpenVPN clients in dashboard widget (#8476)

Co-authored-by: lucaspalomodevelop <lucas.palomo at t-online.de>

(cherry picked from commit 2422686fad29c90c2fe1a8b0d513dd8e97d73947)
(cherry picked from commit cd3c2eefd224d1dc59910bd6490a8e23a2127543)
(cherry picked from commit e57aeea3e85b866e6e78584313c603ccd4eabb4a)
DeltaFile
+11-1src/opnsense/www/js/widgets/OpenVPNClients.js
+11-11 files

OPNSense/core e987e59src/www firewall_rules.php

Firewall: Rules - fix presentation when alias name overlaps group name. closes https://github.com/opnsense/core/issues/8423

Unfortunately we can't prevent all overlaps, but at least we cab make it consistent with the rules being generated. loadAliasMap() overlays aliases on top of networks (and interface groups), swapping the order makes sure we thread them equally.

(cherry picked from commit 4de4bd2774cab6c2e38ec7655a0550d04b863153)
DeltaFile
+3-3src/www/firewall_rules.php
+3-31 files

OPNSense/core f964e10src/opnsense/mvc/app/views/OPNsense/Firewall filter_rule.volt, src/opnsense/www/css jquery.bootgrid.css

bootgrid: resizable columns (#8496)

(cherry picked from commit de5dd5f5278edbae14bfa1bc76751ae360b834e0)
DeltaFile
+321-4src/opnsense/www/js/jquery.bootgrid.js
+32-1src/opnsense/www/css/jquery.bootgrid.css
+32-1src/opnsense/www/themes/opnsense-dark/build/css/jquery.bootgrid.css
+1-0src/opnsense/mvc/app/views/OPNsense/Firewall/filter_rule.volt
+386-64 files

OPNSense/core 564f16dsrc/opnsense/mvc/app/views/OPNsense/Firewall filter_rule.volt, src/opnsense/mvc/app/views/layouts default.volt

bootgrid: improve UX and extend bootgrid behavior (#8462)

(cherry picked from commit 463ba12997e3d698b956bbd28b1ae2c76b2227da)
(cherry picked from commit fb7567bdc797092b116c793b0336eeb99983ada3)
DeltaFile
+153-33src/opnsense/www/js/jquery.bootgrid.js
+28-50src/opnsense/mvc/app/views/OPNsense/Firewall/filter_rule.volt
+19-1src/opnsense/www/themes/opnsense-dark/build/css/jquery.bootgrid.css
+19-1src/opnsense/www/css/jquery.bootgrid.css
+1-1src/opnsense/mvc/app/views/layouts/default.volt
+220-865 files

OPNSense/core c2e1686src/opnsense/mvc/app/controllers/OPNsense/Firewall FilterController.php, src/opnsense/mvc/app/controllers/OPNsense/Firewall/Api FilterController.php

Firewall: Automation filter ui revamp (#8377)

This commit adds backwards compatible changes to the automation api and associated user interface. Although this is likely not the final state, it adds quite some improvements in making this a valid replacement for the current firewall user interface.

(cherry picked from commit af5e9fcbf8806a966d0a955608f9f422491f238f)
DeltaFile
+746-0src/opnsense/mvc/app/views/OPNsense/Firewall/filter_rule.volt
+338-40src/opnsense/mvc/app/controllers/OPNsense/Firewall/forms/dialogFilterRule.xml
+320-6src/opnsense/mvc/app/controllers/OPNsense/Firewall/Api/FilterController.php
+89-0src/opnsense/scripts/filter/list_non_mvc_rules.php
+55-0src/opnsense/mvc/app/models/OPNsense/Firewall/FieldTypes/FilterSequenceField.php
+27-15src/opnsense/mvc/app/controllers/OPNsense/Firewall/FilterController.php
+1,575-616 files not shown
+1,625-8112 files

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

Services: Unbound DNS: Overrides - add optional TTL field, closes https://github.com/opnsense/core/pull/7616

(cherry picked from commit 84f48985bf74cddb50b081ec0b2ca39ad83a364c)
DeltaFile
+3-3src/etc/inc/plugins.inc.d/unbound.inc
+6-0src/opnsense/mvc/app/controllers/OPNsense/Unbound/forms/dialogHostOverride.xml
+6-0src/opnsense/mvc/app/models/OPNsense/Unbound/Unbound.xml
+15-33 files