You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
The Branch rule action (jump from one ruleset into another) is only partially ported from fwbuilder. Three layers are missing or unwired:
Concrete gaps
Drag source (object tree): NON_DRAGGABLE_TYPES in object_tree_data.py includes Policy, NAT and Routing, so the user cannot grab a rule-set as a drag source for the branch action editor (this is the user-visible symptom in Rule sets not dragable for drag and drop #83).
Drop receiver (actions_dialog.BranchChainPage): the iptBranchDropArea widget exists in actionsdialog_q.ui, but actions_dialog.py has no Python wiring at all — objectInserted is not connected, nothing is read on save, no rule.options['branch_id'] is written.
Compiler: branch_id is searched for nowhere in the compilers. The NAT compiler has a half-implemented branch_ruleset_to_chain_mapping placeholder, but Policy and Routing have nothing. Branch rules imported from a .fwb file have their branch_id preserved in rule.options but the compile output ignores it.
Workaround in v1.5.0rc4
The "Branch" entry has been removed from the Policy and NAT action context menus so users no longer create new branch rules that won't compile. Existing branch rules imported from .fwb keep their action label but their behaviour at compile time is undefined until the full pipeline lands.
Description
The Branch rule action (jump from one ruleset into another) is only partially ported from fwbuilder. Three layers are missing or unwired:
Concrete gaps
NON_DRAGGABLE_TYPESinobject_tree_data.pyincludesPolicy,NATandRouting, so the user cannot grab a rule-set as a drag source for the branch action editor (this is the user-visible symptom in Rule sets not dragable for drag and drop #83).actions_dialog.BranchChainPage): theiptBranchDropAreawidget exists inactionsdialog_q.ui, butactions_dialog.pyhas no Python wiring at all —objectInsertedis not connected, nothing is read on save, norule.options['branch_id']is written.branch_idis searched for nowhere in the compilers. The NAT compiler has a half-implementedbranch_ruleset_to_chain_mappingplaceholder, but Policy and Routing have nothing. Branch rules imported from a.fwbfile have theirbranch_idpreserved inrule.optionsbut the compile output ignores it.Workaround in v1.5.0rc4
The "Branch" entry has been removed from the Policy and NAT action context menus so users no longer create new branch rules that won't compile. Existing branch rules imported from
.fwbkeep their action label but their behaviour at compile time is undefined until the full pipeline lands.Related