Skip to content

Branch action: support is incomplete (tracking) #90

Description

@markuslf

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

  • 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.

Related

Metadata

Metadata

Assignees

No one assigned

    Labels

    compilerFirewall policy compilerenhancementNew feature or requestguiGUI / Qt frontend

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions