Skip to content

Conversation

@AdSchellevis
Copy link
Member

closes #8401

Some points up for debate:

o menu naming (portforward / dnat)
o deprecation of associated rule magic, only leaving a pass flag in place

AdSchellevis and others added 18 commits November 27, 2025 15:04
…8401

Add a model wrapper around nat/rule and align filter code to generate the same output when using the model.
To test this part, make a copy of /tmp/rules.debug, run migrations (/usr/local/opnsense/mvc/script/run_migrations.php) and execute rule generation via /usr/local/etc/rc.filter_configure

A diff between the newly generated rules.debug and the backup created earlier should show no differences.

The following notes apply:

o ipprotocol and protocol have no defaults set as old frontend code didn't enforce this, we should likely set defaults (inet, any) knowing this will show a small diff in the output
o registerForwardRule() replaces the array_merge with an !empty() compare per field as our defaults are empty instead of missing
o legacyMoveAddressFields() in Rule.php assumes any when network and address are not set, which should comply with frontend logic as "any" is set in these cases anyway
o source/destinations are converted inline, using a volatile field to trigger the initial load (as only one is used, we prefer network)
…8401

Add some missing pieces in the controller layer, use shared getCategoryColors() and getNetworks() to render gui information in the same way as the filter page does.
Use a volatile field categories to keep track of uuid's so we can reuse these easily for matching in our selectors and data.
…8401

final bits and pieces:

o updated / created metadata
o add pass flag superseding associated-rule-id
o remove legacy files
@AdSchellevis AdSchellevis self-assigned this Nov 30, 2025
@AdSchellevis AdSchellevis added the feature Adding new functionality label Nov 30, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

feature Adding new functionality

Development

Successfully merging this pull request may close these issues.

Request for API Support for NAT Port Forwarding Management

4 participants