diff options
author | Nick Mathewson <nickm@torproject.org> | 2013-11-01 10:28:01 -0400 |
---|---|---|
committer | Nick Mathewson <nickm@torproject.org> | 2013-11-01 10:28:01 -0400 |
commit | 12dc55f4878d16bfc3fb6789b31494d47df7ccec (patch) | |
tree | fc98af22b5c8ec89902f579fba8ffb9e2d3d77fe /src/or/circuituse.c | |
parent | dde41fa1b00151e01e11341903069f5b2f0db1b7 (diff) | |
parent | 5de88dda0acda6914bacd1e14c2e037798c5d9d9 (diff) | |
download | tor-12dc55f4878d16bfc3fb6789b31494d47df7ccec.tar.gz tor-12dc55f4878d16bfc3fb6789b31494d47df7ccec.zip |
Merge branch 'prop221_squashed_024'
Conflicts:
src/or/or.h
Diffstat (limited to 'src/or/circuituse.c')
-rw-r--r-- | src/or/circuituse.c | 9 |
1 files changed, 5 insertions, 4 deletions
diff --git a/src/or/circuituse.c b/src/or/circuituse.c index f098cd9bbe..cb9e931917 100644 --- a/src/or/circuituse.c +++ b/src/or/circuituse.c @@ -1378,10 +1378,11 @@ circuit_build_failed(origin_circuit_t *circ) failed_at_last_hop = 1; } 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. Also, avoid this relay for a while, and - * fail any one-hop directory fetches destined for it. */ + circ->cpath->state != CPATH_STATE_OPEN && + ! circ->base_.received_destroy) { + /* We failed at the first hop for some reason other than a DESTROY cell. + * If there's an OR connection to blame, blame it. Also, avoid this relay + * for a while, and fail any one-hop directory fetches destined for it. */ const char *n_chan_id = circ->cpath->extend_info->identity_digest; int already_marked = 0; if (circ->base_.n_chan) { |