OPNSense/core a7ddcd8src/opnsense/mvc/app/controllers/OPNsense/Routing/forms dialogEditGateway.xml, src/opnsense/mvc/app/models/OPNsense/Routing Gateways.xml

system: allow gateway load balance weights from 1 to 10 for more flexibility (#10148)

fixes #10147
DeltaFile
+1-1src/opnsense/mvc/app/models/OPNsense/Routing/Gateways.xml
+1-1src/opnsense/mvc/app/controllers/OPNsense/Routing/forms/dialogEditGateway.xml
+2-22 files

OPNSense/core 6beb970Mk git.mk

make: remove debug in previous
DeltaFile
+0-1Mk/git.mk
+0-11 files

OPNSense/core 4cb0404Mk git.mk

make: a full file name match should be opened right away

Noticed while adding this to changelog.git as it prints 26.1, 26.1.1, etc
when trying to open "26.1" which is more likely what we want.  If we don't
have an exact match the list is still displayed as before.
DeltaFile
+6-1Mk/git.mk
+6-11 files

OPNSense/core 78856fdsrc/etc/inc console.inc

console: add a missing newline after waiting prompt
DeltaFile
+1-0src/etc/inc/console.inc
+1-01 files

OPNSense/core 43481bdsrc/opnsense/www/js opnsense_bootgrid.js

bootgrid: test disabling scroll
DeltaFile
+4-3src/opnsense/www/js/opnsense_bootgrid.js
+4-31 files

OPNSense/core 08f0367src/opnsense/scripts/captiveportal cp-background-process.py, src/opnsense/scripts/captiveportal/lib db.py

captive portal: regression in 369630d, allowed addresses missing from session ips

If a client is allowed through a statically configured IP, the MAC
becomes secondary, but in the roaming case the set of actual IPs
relied on the MAC address. Since a statically configured IP may not
have a MAC active at a given time, but we do want to keep this IP in
the captive portal pf zone at all time, we merge the primary IP
with the roaming IPs. As a set this will deduplicate automatically.

While here, no MAC address lookup was performed in the case of a
static IP, add it here so it can be actively seen in the sessions
GUI.

Closes https://github.com/opnsense/core/issues/10124

(cherry picked from commit 2b43ee5b87948347ac5a704c484001d169f059e4)
DeltaFile
+12-0src/opnsense/scripts/captiveportal/lib/db.py
+7-2src/opnsense/scripts/captiveportal/cp-background-process.py
+19-22 files

OPNSense/core 2b43ee5src/opnsense/scripts/captiveportal cp-background-process.py, src/opnsense/scripts/captiveportal/lib db.py

captive portal: regression in 369630d, allowed addresses missing from session ips

If a client is allowed through a statically configured IP, the MAC
becomes secondary, but in the roaming case the set of actual IPs
relied on the MAC address. Since a statically configured IP may not
have a MAC active at a given time, but we do want to keep this IP in
the captive portal pf zone at all time, we merge the primary IP
with the roaming IPs. As a set this will deduplicate automatically.

While here, no MAC address lookup was performed in the case of a
static IP, add it here so it can be actively seen in the sessions
GUI.

Closes https://github.com/opnsense/core/issues/10124
DeltaFile
+12-0src/opnsense/scripts/captiveportal/lib/db.py
+7-2src/opnsense/scripts/captiveportal/cp-background-process.py
+19-22 files

OPNSense/core 28ba225Mk git.mk

make: add merge target for "community" origin
DeltaFile
+4-0Mk/git.mk
+4-01 files

OPNSense/core ae32651src/opnsense/mvc/app/controllers/OPNsense/Firewall/Api FilterController.php, src/opnsense/mvc/app/library/OPNsense/Base UIModelGrid.php

mvc: regression in c81417f26747a9e4e46f608c2791bbae805e79fd, missing descriptions.
DeltaFile
+6-1src/opnsense/mvc/app/controllers/OPNsense/Firewall/Api/FilterController.php
+6-1src/opnsense/mvc/app/library/OPNsense/Base/UIModelGrid.php
+12-22 files

OPNSense/core a6da344. plist, src/opnsense/mvc/app/models/OPNsense/Routes Route.xml

system: style sweep and plist fix
DeltaFile
+49-49src/opnsense/mvc/app/models/OPNsense/Routes/Migrations/M1_0_1.php
+24-24src/opnsense/mvc/app/models/OPNsense/Routes/Route.xml
+1-0plist
+74-733 files

OPNSense/core 3acfb5fsrc/etc/inc util.inc, src/opnsense/mvc/app/controllers/OPNsense/Routes/Api RoutesController.php

System: Routing: Changed disable option to enable (#10027)
DeltaFile
+49-0src/opnsense/mvc/app/models/OPNsense/Routes/Migrations/M1_0_1.php
+24-24src/opnsense/mvc/app/models/OPNsense/Routes/Route.xml
+2-18src/opnsense/mvc/app/controllers/OPNsense/Routes/Api/RoutesController.php
+3-3src/opnsense/mvc/app/controllers/OPNsense/Routes/forms/dialogEditRoute.xml
+5-0src/etc/inc/util.inc
+1-1src/opnsense/mvc/app/views/OPNsense/Routes/index.volt
+84-462 files not shown
+86-468 files

OPNSense/core 3d7cbd8src/etc/inc interfaces.inc

interafces: safe gres/gifs iteration
DeltaFile
+4-16src/etc/inc/interfaces.inc
+4-161 files

OPNSense/core 9cd352esrc/etc/inc filter.inc interfaces.inc, src/opnsense/scripts/interfaces reconfigure_bridges.php

backend: use bridges/bridged safe iteration
DeltaFile
+7-6src/etc/inc/filter.inc
+3-9src/etc/inc/interfaces.inc
+2-4src/opnsense/scripts/interfaces/reconfigure_bridges.php
+12-193 files

OPNSense/core f188780src/etc/inc system.inc

system: avoid side effect rendering <item/> during console assignment
DeltaFile
+1-1src/etc/inc/system.inc
+1-11 files

OPNSense/core 5a47632src/opnsense/mvc/app/models/OPNsense/Base/FieldTypes BaseField.php

mvc: BaseField - style
DeltaFile
+2-2src/opnsense/mvc/app/models/OPNsense/Base/FieldTypes/BaseField.php
+2-21 files

OPNSense/core 0175c1e. plist, src/opnsense/scripts/firmware/repos FreeBSD.php OPNsense.php

firmware: moved FreeBSD.php duty to opnsense-update

PR: https://github.com/opnsense/update/commit/aeb88a8fb9
DeltaFile
+0-33src/opnsense/scripts/firmware/repos/FreeBSD.php
+3-2src/opnsense/scripts/firmware/repos/OPNsense.php
+0-1plist
+3-363 files

OPNSense/core 913863asrc/opnsense/mvc/app/models/OPNsense/Kea KeaDhcpv6.php

Services: Kea DHCP: Kea DHCPv6 - fix "Delegated length must be longer than or equal to prefix length" validation, closes https://github.com/opnsense/core/issues/10146

While here, also fix a prefix validation (when x::/64 is specified for example).
DeltaFile
+5-2src/opnsense/mvc/app/models/OPNsense/Kea/KeaDhcpv6.php
+5-21 files

OPNSense/core c2dcb5bsrc/opnsense/mvc/app/controllers/OPNsense/Firewall/Api FilterController.php

mvc: sweep
DeltaFile
+1-1src/opnsense/mvc/app/controllers/OPNsense/Firewall/Api/FilterController.php
+1-11 files

OPNSense/core dad956esrc/opnsense/mvc/app/controllers/OPNsense/Firewall/Api FilterController.php

Firewall: Rules [new] - refactor searchRuleAction() to use the same filtering and sorting logic on MVC and legacy data.

The current implementation is applying our filter logic twice for MVC records, first it uses the default searchBase() construct, which it then needs to pipe through searchRecordsetBase() again. There are a couple of downsides here, it's more expensive (although the user likely won't notice), but also requires duplication of filter logic.

With the logic introduced in https://github.com/opnsense/core/commit/c81417f26747a9e4e46f608c2791bbae805e79fd , we can extract the exact same content from our model so we can merge all at once and push it through our filtering and sorting logic.

The idea is to be able to "smarten" searchRecordsetBase() a bit so we can apply some additional logic based on types at some point in time, which requires all data to passthrough the same pipeline at least.

This commit should be backwards compatible with the previous code.
DeltaFile
+53-87src/opnsense/mvc/app/controllers/OPNsense/Firewall/Api/FilterController.php
+53-871 files

OPNSense/core f1a3150src/opnsense/scripts/interfaces gen_duid.php

interfaces: minor whitespace change
DeltaFile
+1-0src/opnsense/scripts/interfaces/gen_duid.php
+1-01 files

OPNSense/core a119216.github pull_request_template.md

github: add pull request template similar to plugins
DeltaFile
+30-0.github/pull_request_template.md
+30-01 files

OPNSense/core 5e64948src/opnsense/mvc/app/library/OPNsense/Base UIModelGrid.php

mvc: another style sweep
DeltaFile
+1-1src/opnsense/mvc/app/library/OPNsense/Base/UIModelGrid.php
+1-11 files

OPNSense/core dd226f3src/opnsense/mvc/app/library/OPNsense/Auth Radius.php

mvc: style sweep
DeltaFile
+11-9src/opnsense/mvc/app/library/OPNsense/Auth/Radius.php
+11-91 files

OPNSense/core c81417fsrc/opnsense/mvc/app/library/OPNsense/Base UIModelGrid.php

mvc: minor cleanup in UIModelGrid, remove flatten() method as getFlatNodes() is almost the same.
DeltaFile
+6-13src/opnsense/mvc/app/library/OPNsense/Base/UIModelGrid.php
+6-131 files

OPNSense/core d739e53src/opnsense/mvc/app/library/OPNsense/Auth LDAP.php

Auth/LDAP - move ldap_escape to caller for https://github.com/opnsense/core/issues/10129

Although this https://github.com/opnsense/core/commit/016f66cb4620cd48183fa97843f343bb71813c6e was the correct fix for the auth sequence, other callers which search the database
with a static set of expressions are influenced by this as well.

To some degree it might be better to have different callers for this, but this increases the impact if the otherwise limited change.
DeltaFile
+5-5src/opnsense/mvc/app/library/OPNsense/Auth/LDAP.php
+5-51 files

OPNSense/core 95483e5src/opnsense/mvc/app/library/OPNsense/Auth Radius.php

System: Access: Servers - RADIUS, implement NAS-IP-Address attribute. closes https://github.com/opnsense/core/pull/10089

Refactor PR a bit and implement the requested attribute.
For existing setups, the send attributes should be unchanged.
DeltaFile
+26-3src/opnsense/mvc/app/library/OPNsense/Auth/Radius.php
+26-31 files

OPNSense/core 0460e24src/opnsense/mvc/app/views/OPNsense/Diagnostics fw_log.volt

firewall: live view: decode HTML where necessary to aid filtering. Closes https://github.com/opnsense/core/issues/10107
DeltaFile
+12-6src/opnsense/mvc/app/views/OPNsense/Diagnostics/fw_log.volt
+12-61 files

OPNSense/core c62ef33src/opnsense/service/templates/OPNsense/Cron user.cron

system: more natural cron escaping for command #10075

Changes command output from

  /usr/local/sbin/configctl -d -- 'system remote backup'

to

  /usr/local/sbin/configctl -d -- system remote backup

which is actually correct and needed since c491376.

Not sure what "\n" had to do with it but in the case of the
command it should be a normal string and risk of injection
is lower than parameter (but still mitigated properly).
DeltaFile
+5-5src/opnsense/service/templates/OPNsense/Cron/user.cron
+5-51 files

OPNSense/core 1a8a4e8src/opnsense/service/templates/OPNsense/Cron user.cron

system: more natural cron escaping for command #10075
DeltaFile
+5-5src/opnsense/service/templates/OPNsense/Cron/user.cron
+5-51 files

OPNSense/core 7e000a9src/www system_general.php

system: shorten static route collection code here
DeltaFile
+1-3src/www/system_general.php
+1-31 files