tor/changes
David Goulet 6a0763cd66 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>
2019-06-19 07:41:45 -04:00
..
.dummy Add a .dummy file in the changes directory to stop git from removing it 2015-05-11 11:41:48 -04:00
bug22619 Fix a logic error in deciding whether to accept SessionGroup= 2019-05-31 08:26:10 -04:00
bug29034 Bug 29034: Cleanup hs circuitmap when purpose changes. 2019-06-05 11:50:44 -07:00
bug30713 Travis: Skip test_rebind on macOS builds 2019-06-10 20:49:59 +10:00
bug30744 Travis: allow the test-stem job to fail 2019-06-10 19:18:35 +10:00
bug30781 dirparse: Stop crashing when parsing unknown descriptor purpose annotations 2019-06-06 09:51:24 +10:00
doc30630 Mention Travis/Appveyor/Jenkins URLs in ReleasingTor.md 2019-05-31 09:35:19 +03:00
geoip-2019-06-10 Update geoip and geoip6 to the June 10 2019 database. 2019-06-11 16:12:50 +02:00
ticket30686 Add a changes file for ticket 30686. 2019-06-11 11:29:23 -04:00
ticket30871 guard: Ignore marked for close circuit when changing state to open 2019-06-19 07:41:45 -04:00