aboutsummaryrefslogtreecommitdiff
path: root/src/or/rendclient.c
diff options
context:
space:
mode:
authorRobert Ransom <rransom.8774@gmail.com>2011-12-23 05:25:17 -0800
committerRobert Ransom <rransom.8774@gmail.com>2011-12-27 08:02:42 -0800
commit4b13c33c0c18c66cc39caba9b70005bbe43c6613 (patch)
tree2018c81afc87fd46f03d55aae74cef3123564819 /src/or/rendclient.c
parentc6a8ee36fb42e5012704c2428772491ddf3057a6 (diff)
downloadtor-4b13c33c0c18c66cc39caba9b70005bbe43c6613.tar
tor-4b13c33c0c18c66cc39caba9b70005bbe43c6613.tar.gz
Don't close HS client circs which are 'almost connected' on timeout
Diffstat (limited to 'src/or/rendclient.c')
-rw-r--r--src/or/rendclient.c5
1 files changed, 5 insertions, 0 deletions
diff --git a/src/or/rendclient.c b/src/or/rendclient.c
index 84a9d4950..17c92ab6a 100644
--- a/src/or/rendclient.c
+++ b/src/or/rendclient.c
@@ -895,6 +895,11 @@ rend_client_receive_rendezvous(origin_circuit_t *circ, const uint8_t *request,
hop->package_window = circuit_initial_package_window();
hop->deliver_window = CIRCWINDOW_START;
+ /* Now that this circuit has finished connecting to its destination,
+ * make sure circuit_get_open_circ_or_launch is willing to return it
+ * so we can actually use it. */
+ circ->hs_circ_has_timed_out = 0;
+
onion_append_to_cpath(&circ->cpath, hop);
circ->build_state->pending_final_cpath = NULL; /* prevent double-free */