OPNSense/core 242fc74src/opnsense/mvc/app/controllers/OPNsense/OpenVPN/Api InstancesController.php, src/opnsense/mvc/app/views/OPNsense/OpenVPN instances.volt

vpn/openvpn: Use tls-crypt and tls-auth aliases for generating the static key (#9810)

* vpn/openvpn: Even though openvpn --genkey secret generates the same static key for secret, tls-auth and tls-crypt, it is more explicit to use all modes verbatim. It's simpler to expand it in the future this way.
DeltaFile
+8-3src/opnsense/mvc/app/views/OPNsense/OpenVPN/instances.volt
+1-1src/opnsense/mvc/app/controllers/OPNsense/OpenVPN/Api/InstancesController.php
+9-42 files

OPNSense/core 3aa1eb5src/opnsense/mvc/app/views/OPNsense/OpenVPN instances.volt

Whitespace
DeltaFile
+1-0src/opnsense/mvc/app/views/OPNsense/OpenVPN/instances.volt
+1-01 files

OPNSense/core 2bfb1afsrc/opnsense/mvc/app/controllers/OPNsense/OpenVPN/Api InstancesController.php, src/opnsense/mvc/app/views/OPNsense/OpenVPN instances.volt

vpn/openvpn: Even though openvpn --genkey secret generates the same static key for secret, tls-auth and tls-crypt, it is more explicit to use all modes verbatim. It's simpler to expand it in the future this way.
DeltaFile
+8-4src/opnsense/mvc/app/views/OPNsense/OpenVPN/instances.volt
+1-1src/opnsense/mvc/app/controllers/OPNsense/OpenVPN/Api/InstancesController.php
+9-52 files

OPNSense/core ab102b5src/opnsense/www/js opnsense_widget_manager.js

dashboard: sync layout with configuration when adjusting column count

This prevents edge cases of widget deletion or additions in one layout mode
still showing up in others. This also handles privilege changes, where
users don't have access to specific widgets anymore, making sure
these persisted widget layouts are cleaned up when requested.
DeltaFile
+16-1src/opnsense/www/js/opnsense_widget_manager.js
+16-11 files

OPNSense/core 5ce6895src/opnsense/scripts/suricata/metadata/rules et-open.xml

Update et-open.xml (#9808)

Upgrade ET open ruleset to v7.0.3+ syntax
Update the rule files : removed 3coresec ; added dyn_dns, file_sharing, remote_access, retired, ta_abused_services
DeltaFile
+7-3src/opnsense/scripts/suricata/metadata/rules/et-open.xml
+7-31 files

OPNSense/core 60a8652src/etc/inc/plugins.inc.d unbound.inc

unbound: minor style change
DeltaFile
+6-6src/etc/inc/plugins.inc.d/unbound.inc
+6-61 files

OPNSense/core 1a1d2dfsrc/opnsense/www/js opnsense_widget_manager.js

dashboard: store layout types based on column breakpoints

We currently define 3 breakpoints with 1, 3 and 12 columns respectively.
Previously, if a user loaded the dashboard on a phone or tablet
screen and subsequently saved the layout, this layout would be
ignored in order to prevent a hardcoded number of columns on
larger screens. With this commit, each breakpoint will have its
own associated layout and dynamically adjust the layout to one
of the available ones if the screen is resized and forced to reduce
the number of columns. Layouts on smaller screens are therefore
persisted as well.
DeltaFile
+48-14src/opnsense/www/js/opnsense_widget_manager.js
+48-141 files

OPNSense/core 1a101b8src/opnsense/mvc/app/controllers/OPNsense/CaptivePortal/Api TemplateController.php ServiceController.php

Re-add the validation and serialize
DeltaFile
+13-7src/opnsense/mvc/app/controllers/OPNsense/CaptivePortal/Api/TemplateController.php
+0-2src/opnsense/mvc/app/controllers/OPNsense/CaptivePortal/Api/ServiceController.php
+13-92 files

OPNSense/core 17be590src/etc/inc interfaces.inc, src/opnsense/mvc/app/models/OPNsense/Dnsmasq Dnsmasq.php

Merge remote-tracking branch 'origin/master' into captive-portal-templates
DeltaFile
+22-58src/etc/inc/interfaces.inc
+62-10src/www/interfaces.php
+19-22src/www/firewall_nat_out_edit.php
+14-25src/www/firewall_schedule_edit.php
+13-25src/www/interfaces_assign.php
+30-6src/opnsense/mvc/app/models/OPNsense/Dnsmasq/Dnsmasq.php
+160-14617 files not shown
+215-19323 files

OPNSense/core 64e1a51src/www firewall_schedule_edit.php

Firewall: Schedule: Fix is_schedule_inuse so it works for legacy and new rules (#9807)

* Firewall: Schedule: Fix is_schedule_inuse so it works for legacy and new rules

* Use config_read_array instead
DeltaFile
+5-2src/www/firewall_schedule_edit.php
+5-21 files

OPNSense/core fdd1e16src/www firewall_schedule_edit.php

Firewall: Schedule: Fix is_schedule_inuse so it works for legacy and new rules
DeltaFile
+10-3src/www/firewall_schedule_edit.php
+10-31 files

OPNSense/core c5cb86bsrc/etc/inc interfaces.inc, src/opnsense/scripts/interfaces rtsold_script.sh

interfaces: multi-dhcp6c support and custom PD association #7647

This splits off rtsold and dhcp6c into separate processes
which frees us from the restrictions of faked iterative IDs
for PD associations.  For NA we simply default to 0 now.

I'm not entirely sure why we settled for a single deamon of
dhcp6c back in the day, but there are certianly downsides to
it and I don't see something that wasn't fixed in the meantime
that makes this not work.
DeltaFile
+22-58src/etc/inc/interfaces.inc
+58-4src/www/interfaces.php
+6-6src/opnsense/scripts/interfaces/rtsold_script.sh
+86-683 files

OPNSense/core 91fce10src/opnsense/mvc/app/controllers/OPNsense/Core/forms wizard_deployment_type.xml

Fix typo (#9803)

The installation wizard has a typo wherein Unbound is referred to as "Unboud" (missing the 'n' character). This commit fixes this typo.
DeltaFile
+1-1src/opnsense/mvc/app/controllers/OPNsense/Core/forms/wizard_deployment_type.xml
+1-11 files

OPNSense/core 83f8b6bsrc/etc/inc system.inc, src/etc/inc/plugins.inc.d core.inc

backend: two unused global $config references
DeltaFile
+0-2src/etc/inc/plugins.inc.d/core.inc
+0-2src/etc/inc/system.inc
+0-42 files

OPNSense/core 685ed6bsrc/opnsense/www/js/widgets Firewall.js

Lobby: Dashboard / Firewall - fix encoding issue, closes https://github.com/opnsense/core/issues/9729

Minor adjustment to https://github.com/opnsense/core/pull/9776

(cherry picked from commit 0b5f58511339e46c165b66e70e0533be8c3b2282)
DeltaFile
+1-1src/opnsense/www/js/widgets/Firewall.js
+1-11 files

OPNSense/core 290e453src/opnsense/mvc/app/controllers/OPNsense/CaptivePortal/Api AccessController.php

captive portal: fix timeout calculation; closes #9794

(cherry picked from commit a0eee0cbd654f27e98173ad7bb47b001b7fc3b74)
DeltaFile
+2-2src/opnsense/mvc/app/controllers/OPNsense/CaptivePortal/Api/AccessController.php
+2-21 files

OPNSense/core a01822d. Makefile, Mk defaults.mk

make: remove CORE_REPOSITORY

Looking at it again this was used for LibreSSL back in the day
but we do not need this and aux configuration is also hardcoded.
DeltaFile
+1-1src/etc/pkg/repos/OPNsense.conf.shadow.in
+0-1Mk/defaults.mk
+0-1Makefile
+0-1src/opnsense/version/core.in
+1-44 files

OPNSense/core dec4835src/www firewall_nat_out_edit.php interfaces_assign.php

www: config read safety using feddc1f (#9787)

Increase coverage of the new feature in our legacy www files.
DeltaFile
+19-22src/www/firewall_nat_out_edit.php
+13-25src/www/interfaces_assign.php
+11-25src/www/firewall_schedule_edit.php
+5-11src/www/interfaces_ppps_edit.php
+5-10src/www/firewall_rules.php
+4-6src/www/interfaces.php
+57-994 files not shown
+64-10710 files

OPNSense/core 990ff16src/www firewall_nat_out.php

foo
DeltaFile
+0-1src/www/firewall_nat_out.php
+0-11 files

OPNSense/core 48cbf82src/opnsense/mvc/app/controllers/OPNsense/CaptivePortal/Api AccessController.php, src/opnsense/mvc/app/models/OPNsense/Dnsmasq Dnsmasq.php

Merge branch 'master' into config_read_9786
DeltaFile
+30-6src/opnsense/mvc/app/models/OPNsense/Dnsmasq/Dnsmasq.php
+20-0src/opnsense/scripts/filter/lib/alias/__init__.py
+8-1src/opnsense/scripts/filter/update_tables.py
+2-2src/opnsense/mvc/app/controllers/OPNsense/CaptivePortal/Api/AccessController.php
+60-94 files

OPNSense/core 8df9e5asrc/www firewall_nat_out_edit.php

audit/cleanup
DeltaFile
+18-19src/www/firewall_nat_out_edit.php
+18-191 files

OPNSense/core c3f4be4src/www firewall_nat_out.php

cleanup/review
DeltaFile
+3-3src/www/firewall_nat_out.php
+3-31 files

OPNSense/core df17f3csrc/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.
DeltaFile
+20-0src/opnsense/scripts/filter/lib/alias/__init__.py
+8-1src/opnsense/scripts/filter/update_tables.py
+28-12 files

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

Services: Dnsmasq DNS & DHCP: add IP address validations for some of the DHCPv4 and DHCPv6 options (#9790)

---------

Co-authored-by: Ad Schellevis <AdSchellevis at users.noreply.github.com>
Co-authored-by: Franco Fichtner <1915288+fichtner at users.noreply.github.com>
DeltaFile
+30-6src/opnsense/mvc/app/models/OPNsense/Dnsmasq/Dnsmasq.php
+30-61 files

OPNSense/core e83d6eb. plist, src/opnsense/mvc/app/controllers/OPNsense/CaptivePortal/Api TemplateController.php ServiceController.php

Services: Captive Portal: Move template actions out of the ServiceController into its own TemplateController, so it can use the ApiMutableModelControllerBase methods
DeltaFile
+140-0src/opnsense/mvc/app/controllers/OPNsense/CaptivePortal/Api/TemplateController.php
+2-118src/opnsense/mvc/app/controllers/OPNsense/CaptivePortal/Api/ServiceController.php
+5-5src/opnsense/mvc/app/views/OPNsense/CaptivePortal/index.volt
+1-0plist
+148-1234 files

OPNSense/core 48a1c4b. plist, src/opnsense/mvc/app/controllers/OPNsense/CaptivePortal/Api TemplateController.php ServiceController.php

Services: Captive Portal: Move template actions out of the ServiceController into its own TemplateController, so it can use the ApiMutableModelControllerBase methods
DeltaFile
+146-0src/opnsense/mvc/app/controllers/OPNsense/CaptivePortal/Api/TemplateController.php
+2-118src/opnsense/mvc/app/controllers/OPNsense/CaptivePortal/Api/ServiceController.php
+5-5src/opnsense/mvc/app/views/OPNsense/CaptivePortal/index.volt
+1-0plist
+154-1234 files

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

captive portal: fix timeout calculation; closes #9794
DeltaFile
+2-2src/opnsense/mvc/app/controllers/OPNsense/CaptivePortal/Api/AccessController.php
+2-21 files

OPNSense/core 8215c48src/etc/inc config.inc, src/www system_gateway_groups.php

backend: allow non-intrusive config_read_array(); closes #9786

(cherry picked from commit feddc1f280c1d536ec1d61b4adb430bddabee942)
DeltaFile
+28-3src/etc/inc/config.inc
+2-2src/www/system_gateway_groups.php
+30-52 files

OPNSense/core 0ea7f36src/opnsense/mvc/app/controllers/OPNsense/Base ApiMutableModelControllerBase.php, src/opnsense/mvc/app/library/OPNsense/Base UIModelGrid.php

Merge branch 'master' into config_read_9786
DeltaFile
+58-0src/opnsense/mvc/app/library/OPNsense/Core/Type.php
+34-13src/opnsense/scripts/unbound/blocklists/__init__.py
+17-9src/opnsense/mvc/app/library/OPNsense/Base/UIModelGrid.php
+11-14src/opnsense/mvc/app/controllers/OPNsense/Base/ApiMutableModelControllerBase.php
+7-17src/opnsense/mvc/app/views/OPNsense/Firewall/filter_rule.volt
+1-12src/www/firewall_rule_lookup.php
+128-656 files not shown
+147-7312 files

OPNSense/core feddc1fsrc/etc/inc config.inc, src/www system_gateway_groups.php

backend: allow non-intrusive config_read_array(); closes #9786

When config keys are not found or are not arrays that should
be (especially for iterating with foreach) we do a trick here
by returning a detached empty array to avoid upper layer
errors, forcing empty arrays into $config yet reading and
removal still work fine.  The default stays the "insert" mode,
which can be triggered explicitly just for symmetry.  Bools
are not in the keys so this is perfectly fine.

The function itself was added in 4c179c23 in 2017 and hasn't
been modified since which is quite the achievement IMO.  It's
had a clear purpose but now we make it just a little bit
better.  :)

Look for more references at least in the legacy pages:

    # git grep 'foreach.($config\[' src/www
DeltaFile
+28-3src/etc/inc/config.inc
+2-2src/www/system_gateway_groups.php
+30-52 files