From: Robert Ransom Date: Wed, 12 Oct 2011 13:41:33 +0000 (-0700) Subject: Check for intro circ timeouts properly X-Git-Tag: tor-0.2.3.6-alpha~22^2 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=b095be7f69e4b010d990d08c14eea74729f9528c;p=thirdparty%2Ftor.git Check for intro circ timeouts properly Previously, we would treat an intro circuit failure as a timeout iff the circuit failed due to a mismatch in relay identity keys. (Due to a bug elsewhere, we only recognize relay identity-key mismatches on the first hop, so this isn't as bad as it could have been.) Bugfix on commit eaed37d14c6e1dc93a392f62ef2e501f75e4878a, not yet in any release. --- diff --git a/src/or/circuitlist.c b/src/or/circuitlist.c index b25a71e6bd..ef884f3a75 100644 --- a/src/or/circuitlist.c +++ b/src/or/circuitlist.c @@ -1192,7 +1192,7 @@ _circuit_mark_for_close(circuit_t *circ, int reason, int line, } if (circ->purpose == CIRCUIT_PURPOSE_C_INTRODUCE_ACK_WAIT) { origin_circuit_t *ocirc = TO_ORIGIN_CIRCUIT(circ); - int timed_out = (reason == END_STREAM_REASON_TIMEOUT); + int timed_out = (reason == END_CIRC_REASON_TIMEOUT); tor_assert(circ->state == CIRCUIT_STATE_OPEN); tor_assert(ocirc->build_state->chosen_exit); tor_assert(ocirc->rend_data); @@ -1207,7 +1207,7 @@ _circuit_mark_for_close(circuit_t *circ, int reason, int line, INTRO_POINT_FAILURE_TIMEOUT : INTRO_POINT_FAILURE_GENERIC); } else if (circ->purpose == CIRCUIT_PURPOSE_C_INTRODUCING && - reason != END_STREAM_REASON_TIMEOUT) { + reason != END_CIRC_REASON_TIMEOUT) { origin_circuit_t *ocirc = TO_ORIGIN_CIRCUIT(circ); tor_assert(ocirc->build_state->chosen_exit); tor_assert(ocirc->rend_data);