From 18ffea77ae42a91e0028437f6c58253e2e3b0e99 Mon Sep 17 00:00:00 2001 From: Roger Dingledine Date: Wed, 7 Jan 2009 00:30:12 +0000 Subject: [PATCH] actually find the right identity_digest to blame when we get a destroy cell from our first hop. svn:r17991 --- src/or/circuituse.c | 7 +++---- src/or/command.c | 5 +++-- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/src/or/circuituse.c b/src/or/circuituse.c index f2c1595c3b..ac1a64ebfa 100644 --- a/src/or/circuituse.c +++ b/src/or/circuituse.c @@ -800,12 +800,11 @@ circuit_build_failed(origin_circuit_t *circ) if (circ->cpath && circ->cpath->state != CPATH_STATE_OPEN) { /* We failed at the first hop. If there's an OR connection - to blame, blame it. */ - const char *n_conn_id = circ->_base.n_hop ? - circ->_base.n_hop->identity_digest : NULL; + * to blame, blame it. Also, avoid this relay for a while, and + * fail any one-hop directory fetches destined for it. */ + const char *n_conn_id = circ->cpath->extend_info->identity_digest; if (circ->_base.n_conn) { or_connection_t *n_conn = circ->_base.n_conn; - if (n_conn) n_conn_id = n_conn->identity_digest; log_info(LD_OR, "Our circuit failed to get a response from the first hop " "(%s:%d). I'm going to try to rotate to a better connection.", diff --git a/src/or/command.c b/src/or/command.c index 4dcdc136bb..c6e2c12979 100644 --- a/src/or/command.c +++ b/src/or/command.c @@ -514,8 +514,9 @@ command_process_versions_cell(var_cell_t *cell, or_connection_t *conn) conn->link_proto = highest_supported_version; conn->handshake_state->received_versions = 1; - log_info(LD_OR, "Negotiated version %d with %s; sending NETINFO.", - highest_supported_version, safe_str(conn->_base.address)); + log_info(LD_OR, "Negotiated version %d with %s:%d; sending NETINFO.", + highest_supported_version, safe_str(conn->_base.address), + conn->_base.port); tor_assert(conn->link_proto >= 2); if (connection_or_send_netinfo(conn) < 0) { -- 2.11.4.GIT