aboutsummaryrefslogtreecommitdiff
path: root/src/or/rendservice.c
diff options
context:
space:
mode:
authorDavid Goulet <dgoulet@torproject.org>2016-06-16 12:58:30 -0400
committerDavid Goulet <dgoulet@torproject.org>2016-06-16 13:09:24 -0400
commitab35f9de46798845e83823115c6a266af2248eae (patch)
tree68e33e90de9635ff29391faacab05cac399fdbdb /src/or/rendservice.c
parent9b0bd65f220854b7335acca020c73dc075b379a3 (diff)
downloadtor-ab35f9de46798845e83823115c6a266af2248eae.tar.gz
tor-ab35f9de46798845e83823115c6a266af2248eae.zip
Correctly close intro circuit when deleting ephemeral HS
When deleting an ephemeral HS, we were only iterating on circuit with an OPEN state. However, it could be possible that an intro point circuit didn't reached the open state yet. This commit makes it that we close the circuit regardless of its state except if it was already marked for close. Fixes #18604 Signed-off-by: David Goulet <dgoulet@torproject.org>
Diffstat (limited to 'src/or/rendservice.c')
-rw-r--r--src/or/rendservice.c1
1 files changed, 0 insertions, 1 deletions
diff --git a/src/or/rendservice.c b/src/or/rendservice.c
index 7426d8b35d..ff23050300 100644
--- a/src/or/rendservice.c
+++ b/src/or/rendservice.c
@@ -926,7 +926,6 @@ rend_service_del_ephemeral(const char *service_id)
*/
SMARTLIST_FOREACH_BEGIN(circuit_get_global_list(), circuit_t *, circ) {
if (!circ->marked_for_close &&
- circ->state == CIRCUIT_STATE_OPEN &&
(circ->purpose == CIRCUIT_PURPOSE_S_ESTABLISH_INTRO ||
circ->purpose == CIRCUIT_PURPOSE_S_INTRO)) {
origin_circuit_t *oc = TO_ORIGIN_CIRCUIT(circ);