OPNSense/core cd97719src/opnsense/mvc/app/controllers/OPNsense/IDS/forms generalSettings.xml, src/opnsense/mvc/app/models/OPNsense/IDS IDS.xml IDS.php

Services: Intrusion Detection - refactor pcap/netmap selection to "Capture mode" and add new "divert" option.

With divert we can integrate suricata in firewall rules, which makes it easier to bypass large flows.
This change requires the new SO_REUSEPORT_LB option in the kernel in order to distribute traffic over multiple workers.
DeltaFile
+46-0src/opnsense/mvc/app/models/OPNsense/IDS/Migrations/M1_1_2.php
+16-4src/opnsense/mvc/app/models/OPNsense/IDS/IDS.xml
+15-2src/opnsense/service/templates/OPNsense/IDS/rc.conf.d
+13-4src/opnsense/mvc/app/controllers/OPNsense/IDS/forms/generalSettings.xml
+3-3src/opnsense/mvc/app/models/OPNsense/IDS/IDS.php
+2-2src/opnsense/service/templates/OPNsense/IDS/suricata.yaml
+95-153 files not shown
+100-159 files

OPNSense/core a561597src/opnsense/mvc/app/views/OPNsense/Unbound overview.volt

unbound: remove console log
DeltaFile
+0-1src/opnsense/mvc/app/views/OPNsense/Unbound/overview.volt
+0-11 files

OPNSense/core 20b883esrc/opnsense/mvc/app/controllers/OPNsense/Unbound/Api OverviewController.php

unbound: annotate correctly
DeltaFile
+1-1src/opnsense/mvc/app/controllers/OPNsense/Unbound/Api/OverviewController.php
+1-11 files

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

unbound: add per-policy quick actions in overview. fixes https://github.com/opnsense/core/issues/9483
DeltaFile
+171-139src/opnsense/mvc/app/views/OPNsense/Unbound/overview.volt
+36-32src/opnsense/mvc/app/controllers/OPNsense/Unbound/Api/SettingsController.php
+60-0src/opnsense/scripts/unbound/blocklists/__init__.py
+19-16src/opnsense/mvc/app/controllers/OPNsense/Unbound/Api/OverviewController.php
+25-1src/opnsense/scripts/unbound/blocklists.py
+11-6src/opnsense/scripts/unbound/stats.py
+322-1945 files not shown
+340-20411 files

OPNSense/src a051b9ausr.sbin/rtsold rtsol.c

rtsold: check RA lifetime before triggering the one-shot always script

Historic context: rtsold is used by *sense to get a router address which
wasn't originally the daemon's purpose.  We only ever get the first address
per interface lifetime so if the RA contains an invalid router with a zero
lifetime and we catch it we cannot get a valid one ever again.

This is suboptimal in a number of ways, but the obvious way to deal with
this is to ignore all RA messages from routers that do not advertise a
default route.

PR: https://github.com/opnsense/core/issues/9551
DeltaFile
+4-2usr.sbin/rtsold/rtsol.c
+4-21 files

OPNSense/ports 524f7f4security/suricata/files patch-src_source-ipfw.c

security/suricata - support so_reuseport_lb for parallel socket binding
DeltaFile
+18-0security/suricata/files/patch-src_source-ipfw.c
+18-01 files

OPNSense/core 4d59bcfsrc/opnsense/mvc/app/controllers/OPNsense/OpenVPN/Api ExportController.php

openvpn: style
DeltaFile
+1-1src/opnsense/mvc/app/controllers/OPNsense/OpenVPN/Api/ExportController.php
+1-11 files

OPNSense/core dad25b5src/opnsense/mvc/app/controllers/OPNsense/CaptivePortal/Api AccessController.php, src/opnsense/service/conf/actions.d actions_hostwatch.conf

Services: Captive Portal - use new hostwatch service introduced in https://github.com/opnsense/core/pull/9354 to collect mac addresses for 26.1
DeltaFile
+7-5src/opnsense/mvc/app/controllers/OPNsense/CaptivePortal/Api/AccessController.php
+8-0src/opnsense/service/conf/actions.d/actions_hostwatch.conf
+15-52 files

OPNSense/core 1894c61src/opnsense/mvc/app/models/OPNsense/Hostdiscovery Hostwatch.xml

Interfaces: Neighbors: Automatic Discovery - by default, only use non-promiscuous mode, final point for https://github.com/opnsense/core/pull/9354

Added to the roadmap as well, as it seemed to be missing.

This new service is a prerequisite for the new (and faster) mac type aliases (https://github.com/opnsense/core/commit/b2a30fc5606ce2d6c781ae9b7282b83e8ec35ac3) and is a requirement for IPv6 captive portal in a future release.
DeltaFile
+1-1src/opnsense/mvc/app/models/OPNsense/Hostdiscovery/Hostwatch.xml
+1-11 files

OPNSense/core 7192016src/opnsense/mvc/app/controllers/OPNsense/CaptivePortal/Api AccessController.php

captiveportal - assign empty array when "interface list arp json" returns invalid json. ref https://forum.opnsense.org/index.php?topic=50177.0
DeltaFile
+3-1src/opnsense/mvc/app/controllers/OPNsense/CaptivePortal/Api/AccessController.php
+3-11 files

OPNSense/core 1de8b3csrc/opnsense/mvc/app/controllers/OPNsense/OpenVPN/Api ExportController.php, src/opnsense/mvc/app/models/OPNsense/Trust/FieldTypes CertificatesField.php

VPN: OpenVPN: Client Export - add "lazy loading" model support on Trust\Cert type and skip dynamic content when loading the model in our export. closes https://github.com/opnsense/core/pull/9552
DeltaFile
+5-1src/opnsense/mvc/app/models/OPNsense/Trust/FieldTypes/CertificatesField.php
+1-1src/opnsense/mvc/app/controllers/OPNsense/OpenVPN/Api/ExportController.php
+6-22 files

OPNSense/core 5f19a26src/opnsense/mvc/app/controllers/OPNsense/Firewall FilterController.php, src/opnsense/mvc/app/controllers/OPNsense/Firewall/forms dialogFilterRule.xml

Firewall: Rules [new]: Add multiselect icmp6type options (#9547)

* Firewall: Rules [new]: Add multiselect icmp6type options

* These should not be ignored in the grid.

* Firewall: Rules [new] - Add multiselect icmp6type options (minor cleanups)

Use icmpv6 parameter codes as defined in https://www.iana.org/assignments/icmpv6-parameters/icmpv6-parameters.xhtml#icmpv6-parameters-codes-8

---------

Co-authored-by: Ad Schellevis <ad at opnsense.org>
DeltaFile
+24-0src/opnsense/mvc/app/models/OPNsense/Firewall/Filter.xml
+11-1src/opnsense/mvc/app/controllers/OPNsense/Firewall/forms/dialogFilterRule.xml
+4-4src/opnsense/mvc/app/library/OPNsense/Firewall/FilterRule.php
+4-4src/opnsense/mvc/app/controllers/OPNsense/Firewall/FilterController.php
+7-0src/opnsense/mvc/app/models/OPNsense/Firewall/Filter.php
+50-95 files

OPNSense/core 8a5b717src/opnsense/mvc/app/views/OPNsense/OpenVPN export.volt

vpn/openvpn: Add simple search functionality for accounts table (#9549)

DeltaFile
+24-2src/opnsense/mvc/app/views/OPNsense/OpenVPN/export.volt
+24-21 files

OPNSense/core 5c1af76src/opnsense/mvc/app/views/OPNsense/OpenVPN export.volt

vpn/openvpn: Add simple search functionality for accounts table
DeltaFile
+20-2src/opnsense/mvc/app/views/OPNsense/OpenVPN/export.volt
+20-21 files

OPNSense/plugins 809f2aenet/ndp-proxy-go pkg-descr Makefile, net/ndp-proxy-go/src/opnsense/mvc/app/controllers/OPNsense/NdpProxy/forms general.xml

net/ndp-proxy-go: Add ratelimit for pfctl operations (#5096)

DeltaFile
+9-2net/ndp-proxy-go/src/opnsense/mvc/app/controllers/OPNsense/NdpProxy/forms/general.xml
+4-0net/ndp-proxy-go/pkg-descr
+3-0net/ndp-proxy-go/src/opnsense/mvc/app/models/OPNsense/NdpProxy/NdpProxy.xml
+3-0net/ndp-proxy-go/src/opnsense/service/templates/OPNsense/NdpProxy/ndp_proxy_go
+1-1net/ndp-proxy-go/Makefile
+20-35 files

OPNSense/tools 68d6dbebuild download.sh

build/download: deal with kernel vs. kernel-dbg ambiguity
DeltaFile
+9-1build/download.sh
+9-11 files

OPNSense/plugins 320563dnet/ndp-proxy-go pkg-descr Makefile, net/ndp-proxy-go/src/opnsense/mvc/app/controllers/OPNsense/NdpProxy/forms general.xml

net/ndp-proxy-go: Add ratelimit for pfctl operations
DeltaFile
+9-2net/ndp-proxy-go/src/opnsense/mvc/app/controllers/OPNsense/NdpProxy/forms/general.xml
+4-0net/ndp-proxy-go/pkg-descr
+3-0net/ndp-proxy-go/src/opnsense/mvc/app/models/OPNsense/NdpProxy/NdpProxy.xml
+3-0net/ndp-proxy-go/src/opnsense/service/templates/OPNsense/NdpProxy/ndp_proxy_go
+1-1net/ndp-proxy-go/Makefile
+20-35 files

OPNSense/ports 5e5210aopnsense/ndp-proxy-go distinfo Makefile, opnsense/ndp-proxy-go/files ndp-proxy-go.8

opnsense/ndp-proxy-go: Bump version to v0.4.2 (#248)

DeltaFile
+5-5opnsense/ndp-proxy-go/distinfo
+4-4opnsense/ndp-proxy-go/files/ndp-proxy-go.8
+1-1opnsense/ndp-proxy-go/Makefile
+10-103 files

OPNSense/core a0c974dsrc/opnsense/mvc/app/controllers/OPNsense/Firewall/forms dialogFilterRule.xml

These should not be ignored in the grid.
DeltaFile
+2-2src/opnsense/mvc/app/controllers/OPNsense/Firewall/forms/dialogFilterRule.xml
+2-21 files

OPNSense/core ebc7e06src/opnsense/mvc/app/controllers/OPNsense/Firewall FilterController.php, src/opnsense/mvc/app/controllers/OPNsense/Firewall/forms dialogFilterRule.xml

Firewall: Rules [new]: Add multiselect icmp6type options
DeltaFile
+31-0src/opnsense/mvc/app/models/OPNsense/Firewall/Filter.xml
+10-0src/opnsense/mvc/app/controllers/OPNsense/Firewall/forms/dialogFilterRule.xml
+4-4src/opnsense/mvc/app/library/OPNsense/Firewall/FilterRule.php
+7-0src/opnsense/mvc/app/models/OPNsense/Firewall/Filter.php
+3-2src/opnsense/mvc/app/controllers/OPNsense/Firewall/FilterController.php
+55-65 files

OPNSense/plugins d987a7edns/dnscrypt-proxy/src/opnsense/scripts/OPNsense/Dnscryptproxy dnsbl.sh, security/q-feeds-connector pkg-descr Makefile

Feature/dnscrypt proxy blocklist support (#5083)

* Add ports to Events page

* fixes race condition updating the blocklist

* Native integration with DNSCrypt-proxy

Added Q-Feeds domains to the DNSBL list of DNSCrypt-Proxy. Changed since the initial way, this is more native. Q-Feeds domains txt files only created if DNSCrypt-proxy is installed and if the list (qf) is selected.
DeltaFile
+92-0security/q-feeds-connector/src/opnsense/scripts/dnscryptproxy/blocklists/qfeeds_bl.py
+20-1security/q-feeds-connector/src/opnsense/scripts/qfeeds/lib/__init__.py
+10-0dns/dnscrypt-proxy/src/opnsense/scripts/OPNsense/Dnscryptproxy/dnsbl.sh
+8-0security/q-feeds-connector/pkg-descr
+1-1security/q-feeds-connector/Makefile
+1-1security/q-feeds-connector/src/opnsense/service/conf/actions.d/actions_qfeeds.conf
+132-31 files not shown
+133-37 files

OPNSense/core 367712fsrc/opnsense/mvc/app/controllers/OPNsense/Firewall/Api DNatController.php, src/opnsense/mvc/app/controllers/OPNsense/Firewall/forms dialogDNatRule.xml

Firewall: NAT: Destination NAT: Add commands, category to Anti-Lockout rules (#9544)

* Add command to Anti-Lockout rules to redirect to the page they originate from for parity with old view. Add category to Anti-Lockout rules so they pool under Automatically generated rules for parity with the new firewall view. Change position of No RDR and hide it in advanced mode, for parity with the reworked SNAT views comparable option.

* Add sequence number so it appears behind enabled in grid, like in SNAT view
DeltaFile
+13-13src/opnsense/mvc/app/controllers/OPNsense/Firewall/forms/dialogDNatRule.xml
+11-1src/opnsense/mvc/app/views/OPNsense/Firewall/dnat_rule.volt
+2-1src/opnsense/mvc/app/controllers/OPNsense/Firewall/Api/DNatController.php
+26-153 files

OPNSense/core 663ec45src/opnsense/mvc/app/controllers/OPNsense/Firewall/forms dialogDNatRule.xml

Add sequence number so it appears behind enabled in grid, like in SNAT view
DeltaFile
+1-0src/opnsense/mvc/app/controllers/OPNsense/Firewall/forms/dialogDNatRule.xml
+1-01 files

OPNSense/core cc00e08src/opnsense/mvc/app/controllers/OPNsense/Firewall/Api DNatController.php, src/opnsense/mvc/app/controllers/OPNsense/Firewall/forms dialogDNatRule.xml

Add command to Anti-Lockout rules to redirect to the page they originate from for parity with old view. Add category to Anti-Lockout rules so they pool under Automatically generated rules for parity with the new firewall view. Change position of No RDR and hide it in advanced mode, for parity with the reworked SNAT views comparable option.
DeltaFile
+12-13src/opnsense/mvc/app/controllers/OPNsense/Firewall/forms/dialogDNatRule.xml
+11-1src/opnsense/mvc/app/views/OPNsense/Firewall/dnat_rule.volt
+2-1src/opnsense/mvc/app/controllers/OPNsense/Firewall/Api/DNatController.php
+25-153 files

OPNSense/core 1db3193. plist, src/opnsense/mvc/app/models/OPNsense/Base/FieldTypes RegexField.php

Revert "mvc: Add RegexField and RegexFieldTest that validate PCRE2 engine regular expressions (#9291)"

This reverts commit 03c8d0a36ffd374a0a93ee4eda7d688800577438.

It is a nice idea but it is not going to be used due to technical
complications.  If this is needed later we can always bring it back.
DeltaFile
+0-156src/opnsense/mvc/tests/app/models/OPNsense/Base/FieldTypes/RegexFieldTest.php
+0-106src/opnsense/mvc/app/models/OPNsense/Base/FieldTypes/RegexField.php
+0-2plist
+0-2643 files

OPNSense/core 16fbc09src/opnsense/mvc/app/views/OPNsense/Unbound overrides.volt dot.volt, src/opnsense/www/css opnsense-bootgrid-layout.css

ui: infosection larger than table width, adjust to bootgrid-footer

While here, bootgrid-footer only existed in the jquery bootgrid
files. Since we plan to drop these at some point, better make
sure they exist in out layout file
DeltaFile
+1-5src/opnsense/mvc/app/views/OPNsense/Unbound/overrides.volt
+1-5src/opnsense/mvc/app/views/OPNsense/Unbound/dot.volt
+5-0src/opnsense/www/css/opnsense-bootgrid-layout.css
+7-103 files

OPNSense/core c2f076fsrc/www interfaces_assign.php

Revert "Interfaces: Assignments - ditch broken $is_ppp validation, the device should exist before allowing assignments (always)."

This reverts commit 5f1b2bb08847ee0c4da29846f7f06887dc0fef68.

Does not work as intended.  PPP devices are not created before assignment.

(cherry picked from commit 9b8d8f4b8c9aa1c84ca776932a61e9a43f501425)
DeltaFile
+9-1src/www/interfaces_assign.php
+9-11 files

OPNSense/core 9b8d8f4src/www interfaces_assign.php

Revert "Interfaces: Assignments - ditch broken $is_ppp validation, the device should exist before allowing assignments (always)."

This reverts commit 5f1b2bb08847ee0c4da29846f7f06887dc0fef68.

Does not work as intended.  PPP devices are not created before assignment.
DeltaFile
+9-1src/www/interfaces_assign.php
+9-11 files

OPNSense/core 01ff149src/opnsense/mvc/app/views/OPNsense/DHCRelay relay.volt

dhcrelay: reload table to update relay status
DeltaFile
+5-1src/opnsense/mvc/app/views/OPNsense/DHCRelay/relay.volt
+5-11 files

OPNSense/core d2d7322src/etc/inc interfaces.lib.inc

interfaces: consistent typing in new p/vltime
DeltaFile
+2-2src/etc/inc/interfaces.lib.inc
+2-21 files