diff options
author | David Goulet <dgoulet@torproject.org> | 2022-10-26 15:07:42 -0400 |
---|---|---|
committer | David Goulet <dgoulet@torproject.org> | 2022-10-26 15:07:42 -0400 |
commit | fb21387882221e485d8db52ee21e353ec745fda7 (patch) | |
tree | 0a0717d4ac66423c2083b530a4585cd6663cda15 /src/feature/hs | |
parent | ca135a127d3641dde301eb7dfa4f50edce878a0e (diff) | |
parent | 6300a9548dcbe11935db374c7e7455743f3283c3 (diff) | |
download | tor-fb21387882221e485d8db52ee21e353ec745fda7.tar.gz tor-fb21387882221e485d8db52ee21e353ec745fda7.zip |
Merge branch 'tor-gitlab/mr/637'
Diffstat (limited to 'src/feature/hs')
-rw-r--r-- | src/feature/hs/hs_circuit.c | 11 |
1 files changed, 11 insertions, 0 deletions
diff --git a/src/feature/hs/hs_circuit.c b/src/feature/hs/hs_circuit.c index d253802f79..edb5e692e7 100644 --- a/src/feature/hs/hs_circuit.c +++ b/src/feature/hs/hs_circuit.c @@ -1319,6 +1319,17 @@ hs_circ_cleanup_on_repurpose(circuit_t *circ) if (circ->hs_token) { hs_circuitmap_remove_circuit(circ); } + + switch (circ->purpose) { + case CIRCUIT_PURPOSE_S_CONNECT_REND: + /* This circuit was connecting to a rendezvous point but it is being + * repurposed so we need to relaunch an attempt else the client will be + * left hanging waiting for the rendezvous. */ + hs_circ_retry_service_rendezvous_point(TO_ORIGIN_CIRCUIT(circ)); + break; + default: + break; + } } /** Return true iff the given established client rendezvous circuit was sent |