mirror of
https://gitlab.torproject.org/tpo/core/tor.git
synced 2024-11-10 21:23:58 +01:00
e3f3478032
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>
7 lines
386 B
Plaintext
7 lines
386 B
Plaintext
o Major bugfixes (circuit build, guard):
|
|
- When considering upgrading circuits from "waiting for guard" to "open",
|
|
always ignore the ones that are mark for close. Else, we can end up in
|
|
the situation where a subsystem is notified of that circuit opening but
|
|
still marked for close leading to undesirable behavior. Fixes bug 30871;
|
|
bugfix on 0.3.0.1-alpha.
|