diff options
Diffstat (limited to 'src/or/rendclient.c')
-rw-r--r-- | src/or/rendclient.c | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/src/or/rendclient.c b/src/or/rendclient.c index 1beca22476..d0b80a7631 100644 --- a/src/or/rendclient.c +++ b/src/or/rendclient.c @@ -263,8 +263,9 @@ rend_client_receive_rendezvous(circuit_t *circ, const char *request, int request crypt_path_t *hop; char keys[DIGEST_LEN+CPATH_KEY_MATERIAL_LEN]; - if(circ->purpose != CIRCUIT_PURPOSE_C_REND_READY || - !circ->build_state->pending_final_cpath) { + if( (circ->purpose != CIRCUIT_PURPOSE_C_REND_READY && + circ->purpose != CIRCUIT_PURPOSE_C_REND_READY_INTRO_ACKED) + || !circ->build_state->pending_final_cpath) { log_fn(LOG_WARN,"Got rendezvous2 cell from Bob, but not expecting it. Closing."); circuit_mark_for_close(circ); return -1; |