Skip to content

Prompt failure hangs packet processing for five minutes on each subsequent retry. #43

@ghost

Description

Consider following scenario:

  1. Disable Subgraph firewall gnome extension.
  2. Use an application without policy to trigger prompt request.
    Daemon logs an error "Error sending dbus RequestPrompt message" at this point.
  3. Enable Subgraph firewall gnome extension.
  4. Retry connection using the same application.

Expected result is that firewall continues processing packets as usual. What actually happens is that firewall hangs for five minutes each time you retry connecting using application for which prompting has failed before.

Cursory look at the source code suggest that this is a result of promptInProgress flag not having being cleared after a failure. Thus when next pending connection is queued for processing, the routine responsible for promptLoop is never signaled and remains waiting on condition variable. Neither is it woken up immediately by prompts triggered for different applications as packets are processed in sequential manner, one at a time, so that processing of first one must timeout before processing continues.

Metadata

Metadata

Assignees

Labels

No labels
No labels

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions