aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorNick Mathewson <nickm@torproject.org>2015-01-20 14:02:07 -0500
committerNick Mathewson <nickm@torproject.org>2015-01-20 14:02:07 -0500
commit9ddc1fb10c0e40fccee6d4d8b122250f8358ca81 (patch)
treeedf7c1738b9627f1969fa7a5563b67c5a395fb2a
parentda423532f7ac9d275d6b0cf62038a86b04d415ac (diff)
parentb5525476f5fea4b97d562247dbad117068eb4fbb (diff)
downloadtor-9ddc1fb10c0e40fccee6d4d8b122250f8358ca81.tar.gz
tor-9ddc1fb10c0e40fccee6d4d8b122250f8358ca81.zip
Merge remote-tracking branch 'dgoulet/bug14224_025_v1'
-rw-r--r--changes/bug142244
-rw-r--r--src/or/rendclient.c7
2 files changed, 11 insertions, 0 deletions
diff --git a/changes/bug14224 b/changes/bug14224
new file mode 100644
index 0000000000..0608940449
--- /dev/null
+++ b/changes/bug14224
@@ -0,0 +1,4 @@
+ o Minor Bugfix
+ - Close the intro circuit once we don't have any more usable intro
+ points instead of making it timeout at some point. This also make sure
+ no extra HS descriptor fetch is triggered.
diff --git a/src/or/rendclient.c b/src/or/rendclient.c
index 4b7d85a5e0..0c02243828 100644
--- a/src/or/rendclient.c
+++ b/src/or/rendclient.c
@@ -451,6 +451,13 @@ 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 not
+ * useful anymore. Change it's purpose before so we don't report an
+ * intro point failure again triggering an extra descriptor fetch. */
+ circuit_change_purpose(TO_CIRCUIT(circ),
+ CIRCUIT_PURPOSE_C_INTRODUCE_ACKED);
+ circuit_mark_for_close(TO_CIRCUIT(circ), END_CIRC_REASON_FINISHED);
}
}
return 0;