aboutsummaryrefslogtreecommitdiff
path: root/src/or/rendclient.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/or/rendclient.c')
-rw-r--r--src/or/rendclient.c15
1 files changed, 14 insertions, 1 deletions
diff --git a/src/or/rendclient.c b/src/or/rendclient.c
index dbd7ba128..afaa4e294 100644
--- a/src/or/rendclient.c
+++ b/src/or/rendclient.c
@@ -16,9 +16,22 @@ rend_client_introcirc_is_ready(connection_t *apconn, circuit_t *circ)
void
rend_client_rendcirc_is_ready(connection_t *apconn, circuit_t *circ)
{
+ circuit_t *introcirc;
+ assert(apconn->purpose == AP_PURPOSE_RENDPOINT_WAIT);
+ assert(circ->purpose == CIRCUIT_PURPOSE_C_ESTABLISH_REND);
+ assert(circ->cpath);
- log_fn(LOG_WARN,"rendcirc is ready");
+ log_fn(LOG_INFO,"rendcirc is ready");
+
+ /* XXX generate a rendezvous cookie, store it in circ */
+ /* store rendcirc in apconn */
+
+ apconn->purpose = AP_PURPOSE_INTROPOINT_WAIT;
+ if (connection_ap_handshake_attach_circuit(apconn) < 0) {
+ log_fn(LOG_WARN,"failed to start intro point. Closing conn.");
+ connection_mark_for_close(apconn,0);
+ }
}
/* bob sent us a rendezvous cell, join the circs. */