Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

guard: Ignore marked for close circuit when changing state to open #1117

Merged
1 commit merged into from Aug 30, 2019

Commits on Jun 19, 2019

  1. guard: Ignore marked for close circuit when changing state to open

    When we consider all circuits in "waiting for guard" state to be promoted to
    an "open" state, we were considering all circuits, even the one marked for
    close.
    
    This ultiamtely triggers a "circuit_has_opened()" called on the circuit that
    is marked for close which then leads to possible undesirable behaviors within
    a subsystem.
    
    For instance, the HS subsystem would be unable to find the authentication key
    of the introduction point circuit leading to a BUG() warning and a duplicate
    mark for close on the circuit.
    
    This commit also adds a unit test to make sure we never select marked for
    close circuits when upgrading its guard state from waiting for guard to open.
    
    Fixes #30871
    
    Signed-off-by: David Goulet <dgoulet@torproject.org>
    dgoulet-tor committed Jun 19, 2019
    Copy the full SHA
    e3f3478 View commit details
    Browse the repository at this point in the history