aboutsummaryrefslogtreecommitdiff
path: root/src/or/rendclient.c
diff options
context:
space:
mode:
authorMike Perry <mikeperry-git@fscked.org>2012-12-08 12:07:58 -0800
committerMike Perry <mikeperry-git@fscked.org>2012-12-08 12:07:58 -0800
commit5f733ccd7382e8bb8289e4f8adf07f8ac001c28a (patch)
tree0b64d654fe91909e1b15f79008b267001cee8bf4 /src/or/rendclient.c
parent26fa47226cab49b260ba764aa050880f71927ea0 (diff)
downloadtor-5f733ccd7382e8bb8289e4f8adf07f8ac001c28a.tar.gz
tor-5f733ccd7382e8bb8289e4f8adf07f8ac001c28a.zip
Fix some hidden service edge cases.
Diffstat (limited to 'src/or/rendclient.c')
-rw-r--r--src/or/rendclient.c7
1 files changed, 7 insertions, 0 deletions
diff --git a/src/or/rendclient.c b/src/or/rendclient.c
index 3393e0f628..88241a4b2c 100644
--- a/src/or/rendclient.c
+++ b/src/or/rendclient.c
@@ -862,6 +862,13 @@ rend_client_rendezvous_acked(origin_circuit_t *circ, const uint8_t *request,
/* Set timestamp_dirty, because circuit_expire_building expects it
* to specify when a circuit entered the _C_REND_READY state. */
circ->base_.timestamp_dirty = time(NULL);
+
+ /* From a path bias point of view, this circuit is now successfully used.
+ * Waiting any longer opens us up to attacks from Bob. He could induce
+ * Alice to attempt to connect to his hidden service and never reply
+ * to her rend requests */
+ circ->path_state = PATH_STATE_USE_SUCCEEDED;
+
/* XXXX This is a pretty brute-force approach. It'd be better to
* attach only the connections that are waiting on this circuit, rather
* than trying to attach them all. See comments bug 743. */