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

OPNSense/core 6f68372src/opnsense/mvc/app/controllers/OPNsense/Interfaces/Api GreSettingsController.php

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

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

OPNSense/core a15f440src/opnsense/mvc/app/controllers/OPNsense/Auth/Api GroupController.php

System: Access: Groups - fix regression in selective delete introduced in https://github.com/opnsense/core/pull/9779

(cherry picked from commit 45b90a2f24fbb8c5daa4ce3728656d33870c8a9e)
(cherry picked from commit 4b155c979137c690f049002c40628cfd5ab4f9ce)
DeltaFile
+13-11src/opnsense/mvc/app/controllers/OPNsense/Auth/Api/GroupController.php
+13-111 files

OPNSense/core 4b155c9src/opnsense/mvc/app/controllers/OPNsense/Auth/Api GroupController.php, src/opnsense/mvc/app/views/OPNsense/Unbound overview.volt

src: style sweep
DeltaFile
+1-1src/opnsense/mvc/app/controllers/OPNsense/Auth/Api/GroupController.php
+0-1src/opnsense/mvc/app/views/OPNsense/Unbound/overview.volt
+1-22 files

OPNSense/core de975e0src/opnsense/mvc/app/controllers/OPNsense/Interfaces/Api AssignmentController.php, src/opnsense/mvc/app/models/OPNsense/Interfaces Assignment.php

Interfaces: Assignments - work in progress for https://github.com/opnsense/core/issues/9945

In order to migrate the interface assignments, we need to think of a way to use the differently named xml nodes for interfaces (wan, lan, ..) into something that closely resembles a standard model implementation.
Since we can't match these nodes in our statically defined model xmls, the main idea is to flush all via an in-memory model with a separate load [construct] and save hook [serializeToConfig].

The next challenge is to "stash" updates and wait for "apply" in certain cases, for this we add some temporary attributes to the configuration which are synced after the actual system change has happend (pending_action, pending_if). When succesfully applied, the apply function cleans up the final stage of the configuration to make everything consistent again.
DeltaFile
+119-0src/opnsense/mvc/app/controllers/OPNsense/Interfaces/Api/AssignmentController.php
+97-0src/opnsense/mvc/app/models/OPNsense/Interfaces/Assignment.php
+90-0src/opnsense/scripts/interfaces/list_assign_options.php
+57-0src/opnsense/scripts/interfaces/apply_pending_if_changes.php
+54-0src/opnsense/mvc/app/models/OPNsense/Interfaces/FieldTypes/AssignmentInterfaceField.php
+45-0src/opnsense/mvc/app/views/OPNsense/Interface/assignment.volt
+462-05 files not shown
+568-011 files

OPNSense/core adaa525src/opnsense/mvc/app/controllers/OPNsense/Interfaces AssignmentController.php, src/opnsense/mvc/app/controllers/OPNsense/Interfaces/Api AssignmentController.php

Interfaces: Assignments - work in progress for https://github.com/opnsense/core/issues/9945

In order to migrate the interface assignments, we need to think of a way to use the differently named xml nodes for interfaces (wan, lan, ..) into something that closely resembles a standard model implementation.
Since we can't match these nodes in our statically defined model xmls, the main idea is to flush all via an in-memory model with a separate load [construct] and save hook.
DeltaFile
+90-0src/opnsense/scripts/interfaces/list_assign_options.php
+77-0src/opnsense/mvc/app/controllers/OPNsense/Interfaces/Api/AssignmentController.php
+54-0src/opnsense/mvc/app/models/OPNsense/Interfaces/FieldTypes/AssignmentInterfaceField.php
+50-0src/opnsense/mvc/app/models/OPNsense/Interfaces/Assignment.php
+45-0src/opnsense/mvc/app/views/OPNsense/Interface/assignment.volt
+40-0src/opnsense/mvc/app/controllers/OPNsense/Interfaces/AssignmentController.php
+356-04 files not shown
+406-010 files

OPNSense/core 2a4aa5csrc/opnsense/www/js opnsense.js

mvc:Javascript - setFormData : allow passing of data- atributes for select items, this for example offers the option to use data-icon on selectpickers. for https://github.com/opnsense/core/issues/9945
DeltaFile
+12-2src/opnsense/www/js/opnsense.js
+12-21 files

OPNSense/core f689324src/opnsense/mvc/app/controllers/OPNsense/Interfaces AssignmentController.php, src/opnsense/mvc/app/controllers/OPNsense/Interfaces/Api AssignmentController.php

Interfaces: Assignments - work in progress for https://github.com/opnsense/core/issues/9945

In order to migrate the interface assignments, we need to think of a way to use the differently named xml nodes for interfaces (wan, lan, ..) into something that closely resembles a standard model implementation.
Since we can't match these nodes in our statically defined model xmls, the main idea is to flush all via an in-memory model with a separate load [construct] and save hook.
DeltaFile
+79-0src/opnsense/scripts/interfaces/list_assign_options.php
+77-0src/opnsense/mvc/app/controllers/OPNsense/Interfaces/Api/AssignmentController.php
+50-0src/opnsense/mvc/app/models/OPNsense/Interfaces/Assignment.php
+45-0src/opnsense/mvc/app/views/OPNsense/Interface/assignment.volt
+40-0src/opnsense/mvc/app/controllers/OPNsense/Interfaces/AssignmentController.php
+20-0src/opnsense/mvc/app/controllers/OPNsense/Interfaces/forms/dialogAssignment.xml
+311-03 files not shown
+342-09 files

OPNSense/core 24d37dcsrc/opnsense/mvc/app/models/OPNsense/Firewall/FieldTypes SourceNatRuleField.php

make sweep
DeltaFile
+1-1src/opnsense/mvc/app/models/OPNsense/Firewall/FieldTypes/SourceNatRuleField.php
+1-11 files

OPNSense/core 839d45fsrc/opnsense/mvc/app/controllers/OPNsense/Firewall/forms dialogDNatRule.xml dialogOneToOneRule.xml, src/opnsense/mvc/app/models/OPNsense/Firewall Filter.xml

Add sort order volatile fields to SourceNatRuleField shared by SNAT, ONAT and NPTv6 inside filter model.
DeltaFile
+16-1src/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/dialogOneToOneRule.xml
+10-1src/opnsense/mvc/app/controllers/OPNsense/Firewall/forms/dialogSNatRule.xml
+10-1src/opnsense/mvc/app/controllers/OPNsense/Firewall/forms/dialogNptRule.xml
+6-0src/opnsense/mvc/app/models/OPNsense/Firewall/Filter.xml
+63-56 files

OPNSense/core 9f3edc7src/opnsense/mvc/app/controllers/OPNsense/Firewall/Api DNatController.php, src/opnsense/mvc/app/views/OPNsense/Firewall nat_rule.volt

Implement sort_order in DNAT controller so the same tree view logic as in firewall rules can be used, this eases maintainence
DeltaFile
+114-72src/opnsense/mvc/app/views/OPNsense/Firewall/nat_rule.volt
+9-0src/opnsense/mvc/app/controllers/OPNsense/Firewall/Api/DNatController.php
+123-722 files

OPNSense/core b4b8248src/opnsense/mvc/app/controllers/OPNsense/Firewall/Api DNatController.php, src/opnsense/mvc/app/views/OPNsense/Firewall nat_rule.volt

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.
DeltaFile
+69-28src/opnsense/mvc/app/views/OPNsense/Firewall/nat_rule.volt
+1-1src/opnsense/mvc/app/controllers/OPNsense/Firewall/Api/DNatController.php
+70-292 files

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

Firewall: Rules [new]: Always show automatic and legacy rules, and a few more UI tweaks (#10355)

Always group rules by their priority/type in the filter grid and reuse the
same rule type metadata for both bucket labels and icons. When tree view is
enabled, categorized non-automatic rules are grouped one level deeper by
category, while automatic and uncategorized rules remain directly below their
rule type bucket.

This keeps the default view structured without relying on a mixed flat/tree
array and makes the tree toggle an additive category grouping layer.

The front end doesn't need any fake category for the automatic rules anymore, since it's decided by priority group now in the response handler logic

Render icons for the top tree level groups, remove counts behind them to reduce visual noise

Remove the count labels from interfaces, as they imply something has to be done as they resemble event badges

Rework the buttons, only use icons with tooltips, always show the expand tree button


    [12 lines not shown]
DeltaFile
+140-79src/opnsense/mvc/app/views/OPNsense/Firewall/filter_rule.volt
+19-43src/opnsense/mvc/app/controllers/OPNsense/Firewall/Api/FilterController.php
+5-1src/opnsense/mvc/app/controllers/OPNsense/Firewall/forms/dialogFilterRule.xml
+164-1233 files

OPNSense/core 315c085src/etc/inc/plugins.inc.d captiveportal.inc core.inc, src/etc/rc.syshook.d/backup 20-netflow 20-rrd

System: Settings: Miscellaneous - remove periodic backups and backend code, closes https://github.com/opnsense/core/issues/10356
DeltaFile
+0-81src/www/system_advanced_misc.php
+0-27src/etc/rc.syshook.d/backup/20-netflow
+0-25src/etc/rc.syshook.d/backup/20-rrd
+0-18src/etc/rc.syshook.d/backup/20-captiveportal
+0-17src/etc/inc/plugins.inc.d/captiveportal.inc
+0-8src/etc/inc/plugins.inc.d/core.inc
+0-1764 files not shown
+0-19110 files

OPNSense/core d8582fdsrc/opnsense/mvc/app/controllers/OPNsense/Firewall/Api FilterController.php, src/opnsense/mvc/app/views/OPNsense/Firewall filter_rule.volt

Inspect button only reveals statistics now, all other filtering decisions have been removed from the Inspect button (show_all in FilterController)
DeltaFile
+6-6src/opnsense/mvc/app/controllers/OPNsense/Firewall/Api/FilterController.php
+1-1src/opnsense/mvc/app/views/OPNsense/Firewall/filter_rule.volt
+7-72 files

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

Selectable false for enabled and category
DeltaFile
+2-0src/opnsense/mvc/app/controllers/OPNsense/Firewall/forms/dialogFilterRule.xml
+2-01 files

OPNSense/core 8f57c05src/opnsense/mvc/app/controllers/OPNsense/Diagnostics/Api SystemhealthController.php, src/opnsense/mvc/app/controllers/OPNsense/Interfaces/Api LaggSettingsController.php VlanSettingsController.php

Merge remote-tracking branch 'origin/master' into firewall-always-show-internal-rules
DeltaFile
+0-311src/www/reporting_settings.php
+192-68src/opnsense/mvc/app/views/OPNsense/Diagnostics/health.volt
+60-11src/opnsense/mvc/app/views/OPNsense/Unbound/overview.volt
+53-3src/opnsense/mvc/app/controllers/OPNsense/Diagnostics/Api/SystemhealthController.php
+30-24src/opnsense/mvc/app/controllers/OPNsense/Interfaces/Api/LaggSettingsController.php
+21-16src/opnsense/mvc/app/controllers/OPNsense/Interfaces/Api/VlanSettingsController.php
+356-43324 files not shown
+577-49630 files