Mark each intro circ with the rend cookie sent in its INTRODUCE1 cell

Needed by fix for #4759.
This commit is contained in:
Robert Ransom 2011-12-22 06:45:45 -08:00
parent d7531b2adc
commit 66f77561c0

View File

@ -275,6 +275,12 @@ rend_client_send_introduction(origin_circuit_t *introcirc,
payload_len = DIGEST_LEN + r; payload_len = DIGEST_LEN + r;
tor_assert(payload_len <= RELAY_PAYLOAD_SIZE); /* we overran something */ tor_assert(payload_len <= RELAY_PAYLOAD_SIZE); /* we overran something */
/* Copy the rendezvous cookie from rendcirc to introcirc, so that
* when introcirc gets an ack, we can change the state of the right
* rendezvous circuit. */
memcpy(rendcirc->rend_data->rend_cookie, introcirc->rend_data->rend_cookie,
REND_COOKIE_LEN);
log_info(LD_REND, "Sending an INTRODUCE1 cell"); log_info(LD_REND, "Sending an INTRODUCE1 cell");
if (relay_send_command_from_edge(0, TO_CIRCUIT(introcirc), if (relay_send_command_from_edge(0, TO_CIRCUIT(introcirc),
RELAY_COMMAND_INTRODUCE1, RELAY_COMMAND_INTRODUCE1,