aboutsummaryrefslogtreecommitdiff
path: root/src/or/rendclient.c
diff options
context:
space:
mode:
authorDavid Goulet <dgoulet@ev0ke.net>2015-01-16 17:43:33 -0500
committerDavid Goulet <dgoulet@ev0ke.net>2015-01-19 09:44:11 -0500
commitb3c1152bae9e021e10dd014970913114753ac74d (patch)
tree5a6570ac034b809854dba01bb3f536873ef078fa /src/or/rendclient.c
parentba17cdfb0a80c5f6e86eb7b6e510eb72a9352b83 (diff)
downloadtor-b3c1152bae9e021e10dd014970913114753ac74d.tar.gz
tor-b3c1152bae9e021e10dd014970913114753ac74d.zip
Fix: close intro circuit if no more intro points are usable
Once a NACK is received on the intro circuit, tor tries an other usable one by extending the current circuit to it. If no more intro points are usable, now close the circuit. Fixes #14224 Signed-off-by: David Goulet <dgoulet@ev0ke.net>
Diffstat (limited to 'src/or/rendclient.c')
-rw-r--r--src/or/rendclient.c4
1 files changed, 4 insertions, 0 deletions
diff --git a/src/or/rendclient.c b/src/or/rendclient.c
index 19a8cef1bf..1353ee38d5 100644
--- a/src/or/rendclient.c
+++ b/src/or/rendclient.c
@@ -468,6 +468,10 @@ rend_client_introduction_acked(origin_circuit_t *circ,
/* XXXX If that call failed, should we close the rend circuit,
* too? */
return result;
+ } else {
+ /* Close circuit because no more intro points are usable thus this
+ * circuit is not useful anymore. */
+ circuit_mark_for_close(TO_CIRCUIT(circ), END_CIRC_REASON_FINISHED);
}
}
return 0;