OPNSense/core 1d75667src/opnsense/mvc/app/views/OPNsense/Firewall filter_rule.volt, src/opnsense/www/js opnsense_bootgrid.js

Firewall: Rules: improved tree grouping logic
DeltaFile
+54-28src/opnsense/mvc/app/views/OPNsense/Firewall/filter_rule.volt
+4-2src/opnsense/www/js/opnsense_bootgrid.js
+58-302 files

OPNSense/core f27e8b5src/opnsense/www/themes/opnsense-auto/build/js theme.js

theme/opnsense-auto: remove flashing (#10367)
DeltaFile
+25-10src/opnsense/www/themes/opnsense-auto/build/js/theme.js
+25-101 files

OPNSense/core 2216d6bsrc/opnsense/mvc/app/controllers/OPNsense/Firewall/Api FilterBaseController.php

Add a generic helper for key/value map
DeltaFile
+27-14src/opnsense/mvc/app/controllers/OPNsense/Firewall/Api/FilterBaseController.php
+27-141 files

OPNSense/core 7a82bb8src/opnsense/mvc/app/views/layouts default.volt

ui: override selectpicker defaults for translations (#10370)
DeltaFile
+3-0src/opnsense/mvc/app/views/layouts/default.volt
+3-01 files

OPNSense/core 7c56a3fsrc/opnsense/mvc/app/controllers/OPNsense/Firewall/Api DNatController.php

Correct typo in uploadRulesAction in DNatController
DeltaFile
+1-1src/opnsense/mvc/app/controllers/OPNsense/Firewall/Api/DNatController.php
+1-11 files

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

Add shaper comment back to downloadRulesAction inside FilterController
DeltaFile
+1-0src/opnsense/mvc/app/controllers/OPNsense/Firewall/Api/FilterController.php
+1-01 files

OPNSense/core c9e8e64src/opnsense/mvc/app/controllers/OPNsense/Firewall/Api FilterBaseController.php FilterController.php, src/opnsense/mvc/app/views/OPNsense/Firewall nat_rule.volt

Firewall: Turn downloadRules and uploadRules into a protected function inside FilterBaseController, implement it in Firewall rules and NAT pages.
DeltaFile
+106-0src/opnsense/mvc/app/controllers/OPNsense/Firewall/Api/FilterBaseController.php
+2-64src/opnsense/mvc/app/controllers/OPNsense/Firewall/Api/FilterController.php
+27-0src/opnsense/mvc/app/views/OPNsense/Firewall/nat_rule.volt
+10-0src/opnsense/mvc/app/controllers/OPNsense/Firewall/Api/SourceNatController.php
+10-0src/opnsense/mvc/app/controllers/OPNsense/Firewall/Api/OneToOneController.php
+10-0src/opnsense/mvc/app/controllers/OPNsense/Firewall/Api/NptController.php
+165-641 files not shown
+175-647 files

OPNSense/core d6d60e3src/opnsense/mvc/app/views/layouts default.volt

ui: override selectpicker defaults for translations
DeltaFile
+3-0src/opnsense/mvc/app/views/layouts/default.volt
+3-01 files

OPNSense/core fedc3e5src/opnsense/mvc/app/controllers/OPNsense/Firewall/forms dialogDNatRule.xml dialogSNatRule.xml, src/opnsense/mvc/app/models/OPNsense/Firewall/FieldTypes SourceNatRuleField.php

Firewall: NAT: Add the same UI design to the NAT pages as the firewall page (#10359)

* Firewall: NAT: Add the same UI design to the NAT pages as the firewall page from 18533b4, but slightly adjusted as NAT rules do not have sort_order or priority groups, so all grouping happens either by category, or to a synthetic automatic category if the rules contain an is_automatic true boolean.

* Implement sort_order in DNAT controller so the same tree view logic as in firewall rules can be used, this eases maintainence

* Add sort order volatile fields to SourceNatRuleField shared by SNAT, ONAT and NPTv6 inside filter model.

* make sweep

* prio_group is static in NAT rules, so we can use it directly

* Add comment about prio_group inside filter_rule.volt
DeltaFile
+118-40src/opnsense/mvc/app/views/OPNsense/Firewall/nat_rule.volt
+15-0src/opnsense/mvc/app/models/OPNsense/Firewall/FieldTypes/SourceNatRuleField.php
+11-1src/opnsense/mvc/app/controllers/OPNsense/Firewall/forms/dialogDNatRule.xml
+10-1src/opnsense/mvc/app/controllers/OPNsense/Firewall/forms/dialogSNatRule.xml
+10-1src/opnsense/mvc/app/controllers/OPNsense/Firewall/forms/dialogOneToOneRule.xml
+10-1src/opnsense/mvc/app/controllers/OPNsense/Firewall/forms/dialogNptRule.xml
+174-443 files not shown
+192-459 files

OPNSense/core 524440csrc/opnsense/mvc/app/models/OPNsense/Core/ACL ACL.xml

system: sync ACL name

PR: https://github.com/opnsense/core/issues/9471
DeltaFile
+1-1src/opnsense/mvc/app/models/OPNsense/Core/ACL/ACL.xml
+1-11 files

OPNSense/core 92bdd54src/opnsense/mvc/app/controllers/OPNsense/Base ControllerBase.php

mvc: do not translate empty strings

PR: https://github.com/opnsense/core/issues/10369
DeltaFile
+4-1src/opnsense/mvc/app/controllers/OPNsense/Base/ControllerBase.php
+4-11 files

OPNSense/core 2210933src/opnsense/mvc/app/controllers/OPNsense/Hostdiscovery/Api ServiceController.php, src/opnsense/scripts/interfaces list_hosts.py

hostwatch: normalize list_hosts output
DeltaFile
+2-2src/opnsense/mvc/app/controllers/OPNsense/Hostdiscovery/Api/ServiceController.php
+2-0src/opnsense/scripts/interfaces/list_hosts.py
+4-22 files

OPNSense/core 79ee3b4. LICENSE

LICENSE: sync
DeltaFile
+1-1LICENSE
+1-11 files

OPNSense/core f8ff073src/opnsense/scripts/health updaterrd.php

src: typo
DeltaFile
+1-1src/opnsense/scripts/health/updaterrd.php
+1-11 files

OPNSense/core fe52ea7src/opnsense/mvc/app/controllers/OPNsense/Diagnostics/Api InterfaceController.php, src/opnsense/mvc/app/models/OPNsense/Firewall/FieldTypes InterfaceField.php

Firewall - fix interface sortng by value for live-log and groups, closes https://github.com/opnsense/core/issues/10348

We might consider moving the sorting logic to BaseListField at some point as most cases expect sort by value anyway and we only have a couple of exceptions to that logic.

(cherry picked from commit 6ffad1bb73da9db36c409130fcf00a9af286f94f)
DeltaFile
+2-1src/opnsense/mvc/app/controllers/OPNsense/Diagnostics/Api/InterfaceController.php
+2-1src/opnsense/mvc/app/models/OPNsense/Firewall/FieldTypes/InterfaceField.php
+4-22 files

OPNSense/core 95bedd8src/etc/inc/plugins.inc.d ntpd.inc

network time: small cleanups in ntpd_configure_gps()
DeltaFile
+25-25src/etc/inc/plugins.inc.d/ntpd.inc
+25-251 files

OPNSense/core d0f954fsrc/opnsense/www/js opnsense_status.js

system: remove banner on inline reload if applicable
DeltaFile
+24-15src/opnsense/www/js/opnsense_status.js
+24-151 files

OPNSense/core d6cc069src/opnsense/mvc/app/controllers/OPNsense/Hostdiscovery/Api ServiceController.php, src/opnsense/mvc/app/library/OPNsense/System/Status HostDiscoveryStatus.php

hostwatch: pin warning banner to enabled flag
DeltaFile
+53-0src/opnsense/mvc/app/library/OPNsense/System/Status/HostDiscoveryStatus.php
+0-13src/opnsense/mvc/app/views/OPNsense/Hostdiscovery/settings.volt
+2-2src/opnsense/mvc/app/controllers/OPNsense/Hostdiscovery/Api/ServiceController.php
+55-153 files

OPNSense/core ae08b03src/opnsense/mvc/app/controllers/OPNsense/Cron/Api SettingsController.php, src/opnsense/service/conf/actions.d actions_configd.conf

cron: allow unregistered actions to be deleted

Also add a user exception so the users knows what's going on
when not being able to delete.
DeltaFile
+14-3src/opnsense/mvc/app/controllers/OPNsense/Cron/Api/SettingsController.php
+8-0src/opnsense/service/modules/actions/inline.py
+6-0src/opnsense/service/conf/actions.d/actions_configd.conf
+28-33 files

OPNSense/core cd2e12esrc/opnsense/mvc/script run_migrations.php

mvc: unify migration message returns a bit

Mostly noticed due to "check log for details" which now in
most cases is not relevant since we use the verbose flag.
DeltaFile
+4-8src/opnsense/mvc/script/run_migrations.php
+4-81 files

OPNSense/core e87435csrc/opnsense/mvc/tests/app/models/OPNsense/ACL/AclConfig config.xml

src: remove obsolete

(cherry picked from commit 8adcc434a35a231092209908ebe47d6667a6d986)
DeltaFile
+0-2src/opnsense/mvc/tests/app/models/OPNsense/ACL/AclConfig/config.xml
+0-21 files

OPNSense/core 8adcc43src/opnsense/mvc/tests/app/models/OPNsense/ACL/AclConfig config.xml

src: remove obsolete
DeltaFile
+0-2src/opnsense/mvc/tests/app/models/OPNsense/ACL/AclConfig/config.xml
+0-21 files

OPNSense/core ffcdd81src/opnsense/mvc/app/controllers/OPNsense/Kea/forms ddnsSettings.xml, src/opnsense/mvc/app/views/OPNsense/Kea ddns.volt dhcpv4.volt

Services: Kea DHCPv4/6: Fix missing visual cues for manual mode in DDNS and DHCPv4/6 (#10340)

(cherry picked from commit 720c791b15fbbbbde73c55d818fee63468bcd3ab)
DeltaFile
+18-0src/opnsense/mvc/app/views/OPNsense/Kea/ddns.volt
+8-0src/opnsense/mvc/app/controllers/OPNsense/Kea/forms/ddnsSettings.xml
+1-1src/opnsense/mvc/app/views/OPNsense/Kea/dhcpv4.volt
+1-1src/opnsense/mvc/app/views/OPNsense/Kea/dhcpv6.volt
+28-24 files

OPNSense/core c0b7489src/www firewall_scrub.php

Firewall: Settings: Normalization - add missing exclamation mark for "not" rules, closes https://github.com/opnsense/core/issues/10349

(cherry picked from commit dcb01791f70ecdd2c2e5985bf6b9080496f1b5e8)
DeltaFile
+2-0src/www/firewall_scrub.php
+2-01 files

OPNSense/core 90b6491src/opnsense/mvc/app/controllers/OPNsense/Diagnostics InterfaceController.php, src/opnsense/mvc/app/models/OPNsense/Diagnostics/ACL ACL.xml

ACL: some missing references and using camelcase pointers instead of snakecase [ref: https://github.com/opnsense/core/issues/10351]

(cherry picked from commit 09654ca796589e613affee99a86190e8b815ad08)
DeltaFile
+6-6src/opnsense/mvc/app/controllers/OPNsense/Diagnostics/InterfaceController.php
+3-0src/opnsense/mvc/app/models/OPNsense/Diagnostics/ACL/ACL.xml
+9-62 files

OPNSense/core b8740f6src/opnsense/www/js opnsense_ui.js

ui: SimpleActionButton exclude scope should apply to first active tab as well

(cherry picked from commit 39860189898144c0a2dd7c586fc193804c23fad4)
DeltaFile
+13-2src/opnsense/www/js/opnsense_ui.js
+13-21 files

OPNSense/core 0636b13src/opnsense/mvc/app/models/OPNsense/Kea KeaDhcpv4.xml KeaDhcpv4.php

Kea: Hook up reservation.next_server (#10344)

This field was added to the Kea dialogReservation4.xml form in
https://github.com/opnsense/core/pull/8890, however this specific option
was not properly hooked up and did not generate the expected config,
preventing netboot scenarios that rely on next-server from being set on
a per-reservation basis (the per-subnet variant of this option does work
fine).

This commit hooks it up to generate the expected "next-server" Kea
config entry on a per-reservation basis.

(cherry picked from commit e209de9719943a5224a06f8e155629d1052ddcba)
DeltaFile
+5-1src/opnsense/mvc/app/models/OPNsense/Kea/KeaDhcpv4.xml
+4-0src/opnsense/mvc/app/models/OPNsense/Kea/KeaDhcpv4.php
+9-12 files

OPNSense/core 1d46c14src/opnsense/mvc/app/controllers/OPNsense/Interfaces/Api GifSettingsController.php

Interfaces: Devices: GIF - fix regression in selective delete introduced in https://github.com/opnsense/core/pull/9779

(cherry picked from commit f4706755baae88a75a027333f81a1f5d33de07a9)
DeltaFile
+20-14src/opnsense/mvc/app/controllers/OPNsense/Interfaces/Api/GifSettingsController.php
+20-141 files

OPNSense/core 81a1e5bsrc/opnsense/mvc/app/controllers/OPNsense/Interfaces/Api LaggSettingsController.php

Interfaces: Devices: LAGG - fix regression in selective delete introduced in https://github.com/opnsense/core/pull/9779

(cherry picked from commit 2a690f1521a4fe97a207aca8c62f2907d89d637d)
DeltaFile
+30-24src/opnsense/mvc/app/controllers/OPNsense/Interfaces/Api/LaggSettingsController.php
+30-241 files

OPNSense/core a3ef05asrc/opnsense/mvc/app/controllers/OPNsense/Interfaces/Api VlanSettingsController.php

Interfaces: Devices: VLAN - fix regression in selective delete introduced in https://github.com/opnsense/core/pull/9779

(cherry picked from commit aac399ee26c94ab784ca28338e50cb37ec16b623)
DeltaFile
+21-16src/opnsense/mvc/app/controllers/OPNsense/Interfaces/Api/VlanSettingsController.php
+21-161 files