OPNSense/core 8b5441bsrc/opnsense/scripts/filter list_legacy_outbound_nat.php

Empty uuid on export, the import should create it
DeltaFile
+1-1src/opnsense/scripts/filter/list_legacy_outbound_nat.php
+1-11 files

OPNSense/core c0cf70bsrc/opnsense/scripts/filter list_legacy_outbound_nat.php

make sweep
DeltaFile
+1-1src/opnsense/scripts/filter/list_legacy_outbound_nat.php
+1-11 files

OPNSense/core 11dd17c. plist, src/opnsense/mvc/app/views/OPNsense/Firewall firewall_migration.volt

Firewall: NAT: Add migration workflow to existing migration assistant and add export script
DeltaFile
+132-0src/opnsense/scripts/filter/list_legacy_outbound_nat.php
+83-25src/opnsense/mvc/app/views/OPNsense/Firewall/firewall_migration.volt
+7-0src/www/firewall_nat_out.php
+6-0src/opnsense/service/conf/actions.d/actions_filter.conf
+1-0plist
+229-255 files

OPNSense/core 9cee4fbsrc/opnsense/mvc/app/views/OPNsense/Firewall filter_rule.volt

Firewall: Rules: always collapse auto rules, add early bailouts
DeltaFile
+13-1src/opnsense/mvc/app/views/OPNsense/Firewall/filter_rule.volt
+13-11 files

OPNSense/core 74acf86src/opnsense/mvc/app/views/OPNsense/Firewall filter_rule.volt

Firewall: Rules: adjust type map accordingly to previous
DeltaFile
+2-3src/opnsense/mvc/app/views/OPNsense/Firewall/filter_rule.volt
+2-31 files

OPNSense/core 977c2f3src/etc/inc filter.lib.inc

Firewall: Rules: set outbound gateway rules to prio 10000
DeltaFile
+1-1src/etc/inc/filter.lib.inc
+1-11 files

OPNSense/core 1b043eesrc/opnsense/mvc/app/views/OPNsense/Firewall nat_rule.volt

Fire a settings-changed when the snat_mode is changed after the page has been loaded
DeltaFile
+9-0src/opnsense/mvc/app/views/OPNsense/Firewall/nat_rule.volt
+9-01 files

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

Interfaces: Assignments - refactor to MVC 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 a temporary database holding the changes  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.

This database is a simple single json encoded file named /tmp/.interfaces.todo
DeltaFile
+0-498src/www/interfaces_assign.php
+172-0src/opnsense/mvc/app/models/OPNsense/Interfaces/NetInterface.php
+170-0src/opnsense/mvc/app/controllers/OPNsense/Interfaces/Api/AssignmentController.php
+90-0src/opnsense/scripts/interfaces/list_assign_options.php
+73-0src/opnsense/mvc/app/models/OPNsense/Interfaces/FieldTypes/DeviceField.php
+64-0src/opnsense/scripts/interfaces/apply_pending_if_changes.php
+569-49810 files not shown
+753-50316 files

OPNSense/core 9e4f5a6src/opnsense/mvc/app/controllers/OPNsense/Interfaces/Api AssignmentController.php, src/opnsense/mvc/app/models/OPNsense/Interfaces NetInterface.php

Interfaces: Assignments - refactor to MVC 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 a temporary database holding the changes  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.

This database is a simple single json encoded file named /tmp/.interfaces.todo
DeltaFile
+0-498src/www/interfaces_assign.php
+172-0src/opnsense/mvc/app/models/OPNsense/Interfaces/NetInterface.php
+170-0src/opnsense/mvc/app/controllers/OPNsense/Interfaces/Api/AssignmentController.php
+90-0src/opnsense/scripts/interfaces/list_assign_options.php
+73-0src/opnsense/mvc/app/models/OPNsense/Interfaces/FieldTypes/NetInterfaceField.php
+64-0src/opnsense/scripts/interfaces/apply_pending_if_changes.php
+569-49810 files not shown
+753-50316 files

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

Interfaces: Assignments - refactor to MVC 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 a temporary database holding the changes  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.

This database is a simple single json encoded file named /tmp/.interfaces.todo
DeltaFile
+0-498src/www/interfaces_assign.php
+172-0src/opnsense/mvc/app/models/OPNsense/Interfaces/NetInterface.php
+170-0src/opnsense/mvc/app/controllers/OPNsense/Interfaces/Api/AssignmentController.php
+90-0src/opnsense/scripts/interfaces/list_assign_options.php
+73-0src/opnsense/mvc/app/models/OPNsense/Interfaces/FieldTypes/NetInterfaceField.php
+64-0src/opnsense/scripts/interfaces/apply_pending_if_changes.php
+569-49810 files not shown
+753-50316 files

OPNSense/core 9e8bf1fsrc/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 a temporary database holding the changes  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.

This database is a simple single json encoded file named /tmp/.interfaces.todo
DeltaFile
+0-498src/www/interfaces_assign.php
+172-0src/opnsense/mvc/app/models/OPNsense/Interfaces/Assignment.php
+170-0src/opnsense/mvc/app/controllers/OPNsense/Interfaces/Api/AssignmentController.php
+90-0src/opnsense/scripts/interfaces/list_assign_options.php
+73-0src/opnsense/mvc/app/models/OPNsense/Interfaces/FieldTypes/AssignmentInterfaceField.php
+64-0src/opnsense/scripts/interfaces/apply_pending_if_changes.php
+569-49810 files not shown
+754-50316 files

OPNSense/core 67d6f60src/opnsense/mvc/app/views/OPNsense/Firewall filter_rule.volt

Firewall Rules: clean this up as well
DeltaFile
+29-32src/opnsense/mvc/app/views/OPNsense/Firewall/filter_rule.volt
+29-321 files

OPNSense/core bfa5a52src/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 a temporary database holding the changes  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.

This database is a simple single json encoded file named /tmp/.interfaces.todo
DeltaFile
+170-0src/opnsense/mvc/app/controllers/OPNsense/Interfaces/Api/AssignmentController.php
+162-0src/opnsense/mvc/app/models/OPNsense/Interfaces/Assignment.php
+90-0src/opnsense/scripts/interfaces/list_assign_options.php
+73-0src/opnsense/mvc/app/models/OPNsense/Interfaces/FieldTypes/AssignmentInterfaceField.php
+64-0src/opnsense/scripts/interfaces/apply_pending_if_changes.php
+54-0src/opnsense/mvc/app/views/OPNsense/Interface/assignment.volt
+613-05 files not shown
+739-011 files

OPNSense/core ee3fe9esrc/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 a temporary database holding the changes  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.

This database is a simple single json encoded file named /tmp/.interfaces.todo
DeltaFile
+159-0src/opnsense/mvc/app/models/OPNsense/Interfaces/Assignment.php
+121-0src/opnsense/mvc/app/controllers/OPNsense/Interfaces/Api/AssignmentController.php
+90-0src/opnsense/scripts/interfaces/list_assign_options.php
+64-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
+533-05 files not shown
+639-011 files

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

Firewall: Rules: semi-persistence for top-level categories
DeltaFile
+149-99src/opnsense/mvc/app/views/OPNsense/Firewall/filter_rule.volt
+2-1src/opnsense/www/js/opnsense_bootgrid.js
+151-1002 files

OPNSense/core 591830asrc/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 c5b84a6src/opnsense/mvc/app/views/OPNsense/Firewall filter_rule.volt

Firewall: Rules: clean up
DeltaFile
+17-23src/opnsense/mvc/app/views/OPNsense/Firewall/filter_rule.volt
+17-231 files

OPNSense/core 1251c97src/opnsense/mvc/app/views/OPNsense/Firewall filter_rule.volt

Firewall: Rules: clean up
DeltaFile
+17-23src/opnsense/mvc/app/views/OPNsense/Firewall/filter_rule.volt
+17-231 files

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

Firewall: Rules: semi-persistence for top-level categories
DeltaFile
+149-99src/opnsense/mvc/app/views/OPNsense/Firewall/filter_rule.volt
+2-1src/opnsense/www/js/opnsense_bootgrid.js
+151-1002 files

OPNSense/core ce499a9src/opnsense/mvc/app/views/OPNsense/Firewall nat_rule.volt

The other NAT pages should also be allowed to unhide their grid
DeltaFile
+7-2src/opnsense/mvc/app/views/OPNsense/Firewall/nat_rule.volt
+7-21 files

OPNSense/core 9969711src/opnsense/mvc/app/controllers/OPNsense/Kea/Api Leases6Controller.php, src/opnsense/mvc/app/controllers/OPNsense/Monit/Api SettingsController.php

mvc: fix a few stale imports via linter
DeltaFile
+0-4src/opnsense/mvc/app/controllers/OPNsense/Kea/Api/Leases6Controller.php
+0-2src/opnsense/mvc/app/controllers/OPNsense/Wireguard/Api/GeneralController.php
+0-2src/opnsense/mvc/app/models/OPNsense/Interfaces/FieldTypes/VipNetworkField.php
+0-1src/opnsense/mvc/app/controllers/OPNsense/Monit/Api/SettingsController.php
+0-1src/opnsense/mvc/app/controllers/OPNsense/Routes/Api/RoutesController.php
+0-1src/opnsense/mvc/app/controllers/OPNsense/TrafficShaper/Api/SettingsController.php
+0-116 files not shown
+0-1712 files

OPNSense/core 2571f8cScripts class-import.sh

make: improve import linter for edge cases
DeltaFile
+2-1Scripts/class-import.sh
+2-11 files

OPNSense/core 6986e49src/opnsense/mvc/app/views/OPNsense/Firewall nat_rule.volt

Hide grid when snat_mode is disabled
DeltaFile
+27-7src/opnsense/mvc/app/views/OPNsense/Firewall/nat_rule.volt
+27-71 files

OPNSense/core 1f08ea9src/opnsense/mvc/app/models/OPNsense/Kea KeaDhcpv6.xml

kea: v6 linter pass
DeltaFile
+33-33src/opnsense/mvc/app/models/OPNsense/Kea/KeaDhcpv6.xml
+33-331 files

OPNSense/core 50fa3fdsrc/opnsense/mvc/app/models/OPNsense/Kea KeaDhcpv4.xml

kea: v4 option values changes for linter
DeltaFile
+27-27src/opnsense/mvc/app/models/OPNsense/Kea/KeaDhcpv4.xml
+27-271 files

OPNSense/core 21d492bsrc/opnsense/mvc/app/controllers/OPNsense/Firewall/Api SourceNatController.php

Just always show automatic rules in the result, we don't need two filter functions here
DeltaFile
+1-7src/opnsense/mvc/app/controllers/OPNsense/Firewall/Api/SourceNatController.php
+1-71 files

OPNSense/core f7989c0. plist

pkg: fix plist
DeltaFile
+1-0plist
+1-01 files

OPNSense/core a4aa93csrc/opnsense/mvc/app/controllers/OPNsense/Firewall/Api SourceNatController.php

Change searchRuleAction() output based on selected snat_mode to either include automatic rules/manual rules or not
DeltaFile
+42-19src/opnsense/mvc/app/controllers/OPNsense/Firewall/Api/SourceNatController.php
+42-191 files

OPNSense/core 34e8023src/opnsense/mvc/app/controllers/OPNsense/Firewall/Api SourceNatController.php

Since we have a volatile field we can use it directly here
DeltaFile
+1-2src/opnsense/mvc/app/controllers/OPNsense/Firewall/Api/SourceNatController.php
+1-21 files

OPNSense/core cab002esrc/opnsense/mvc/app/controllers/OPNsense/Firewall/Api SourceNatController.php

Not needed anymore now
DeltaFile
+0-1src/opnsense/mvc/app/controllers/OPNsense/Firewall/Api/SourceNatController.php
+0-11 files