diff options
Diffstat (limited to 'src/or/rendclient.c')
-rw-r--r-- | src/or/rendclient.c | 15 |
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. */ |