mirror of
https://gitlab.torproject.org/tpo/core/tor.git
synced 2024-12-01 08:03:31 +01:00
scream louder if you've got a pending circuit for a given
addr/port but the intended n_conn digest is wrong. svn:r6544
This commit is contained in:
parent
45065f1466
commit
a2fec314b6
@ -418,9 +418,15 @@ circuit_n_conn_done(connection_t *or_conn, int status)
|
||||
tor_assert(circ->state == CIRCUIT_STATE_OR_WAIT);
|
||||
if (!circ->n_conn &&
|
||||
circ->n_addr == or_conn->addr &&
|
||||
circ->n_port == or_conn->port &&
|
||||
!memcmp(or_conn->identity_digest, circ->n_conn_id_digest,
|
||||
circ->n_port == or_conn->port) {
|
||||
if (memcmp(or_conn->identity_digest, circ->n_conn_id_digest,
|
||||
DIGEST_LEN)) {
|
||||
log_fn(LOG_PROTOCOL_WARN, LD_CIRC,
|
||||
"Pending circuit to %s:%d is intended for different digest!",
|
||||
or_conn->address, or_conn->port);
|
||||
circuit_mark_for_close(circ, END_CIRC_REASON_OR_IDENTITY);
|
||||
continue;
|
||||
}
|
||||
if (!status) { /* or_conn failed; close circ */
|
||||
log_info(LD_CIRC,"or_conn failed. Closing circ.");
|
||||
circuit_mark_for_close(circ, END_CIRC_REASON_OR_CONN_CLOSED);
|
||||
|
Loading…
Reference in New Issue
Block a user