diff options
Diffstat (limited to 'src/feature/hs/hs_circuit.c')
-rw-r--r-- | src/feature/hs/hs_circuit.c | 10 |
1 files changed, 10 insertions, 0 deletions
diff --git a/src/feature/hs/hs_circuit.c b/src/feature/hs/hs_circuit.c index 9d21acf42f..1a3767ce62 100644 --- a/src/feature/hs/hs_circuit.c +++ b/src/feature/hs/hs_circuit.c @@ -25,6 +25,7 @@ #include "feature/nodelist/describe.h" #include "feature/nodelist/nodelist.h" #include "feature/rend/rendservice.h" +#include "feature/rend/rendclient.h" #include "feature/stats/rephist.h" #include "lib/crypt_ops/crypto_dh.h" #include "lib/crypt_ops/crypto_rand.h" @@ -1205,6 +1206,15 @@ hs_circ_cleanup(circuit_t *circ) { tor_assert(circ); + /* v2 specific circuits. */ + if (circuit_is_hs_v2(circ)) { + if (circuit_is_hs_client(circ)) { + rend_client_circuit_cleanup(circ); + } + } + + /* From this point on, it is v3 specific. */ + /* If it's a service-side intro circ, notify the HS subsystem for the intro * point circuit closing so it can be dealt with cleanly. */ if (circ->purpose == CIRCUIT_PURPOSE_S_ESTABLISH_INTRO || |