tor/src
David Goulet e80893e51b hs-v3: Cleanup HS circuits when marking as closed
First, hs_service_intro_circ_has_closed() is now called in circuit_mark_for
close() because the HS subsystem needs to learn when an intro point is
actually not established anymore as soon as possible. There is a time window
between a close and a free.

Second, when we mark for close, we also remove it from the circuitmap because
between the close and the free, a service can launch an new circuit to that
same intro point and thus register it which only succeeds if the intro point
authentication key is not already in the map.

However, we still do a remove from the circuitmap in circuit_free() in order
to also cleanup the circuit if it wasn't marked for close prior to the free.

Fixes #23603

Signed-off-by: David Goulet <dgoulet@torproject.org>
2017-12-05 10:55:41 -05:00
..
common Merge branch 'maint-0.3.1' into maint-0.3.2 2017-11-30 12:07:59 -05:00
config Merge branch 'maint-0.3.0' into maint-0.3.1 2017-11-11 12:23:34 -05:00
ext Merge branch 'maint-0.3.0' into maint-0.3.1 2017-11-13 20:36:04 -05:00
or hs-v3: Cleanup HS circuits when marking as closed 2017-12-05 10:55:41 -05:00
rust 22839: Build tor with rust enabled on win 2017-08-21 15:08:24 -04:00
test Merge branch 'bug24050_029_squashed' into maint-0.3.2 2017-11-29 12:05:49 -05:00
tools Fix memory leak in tor-gencert.c 2017-09-17 20:42:28 -04:00
trace Add stub function for libor-trace. 2017-04-25 18:02:19 +02:00
trunnel Re-run trunnel. Cosmetic changes only. 2017-08-24 16:13:01 -04:00
win32 bump to 0.3.2.6-alpha-dev 2017-12-01 09:34:31 -05:00
include.am Add --enable-rust configure switch 2017-04-29 08:55:57 +02:00