diff options
Diffstat (limited to 'src/or/relay.c')
-rw-r--r-- | src/or/relay.c | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/src/or/relay.c b/src/or/relay.c index 63119cbf07..57633f86ab 100644 --- a/src/or/relay.c +++ b/src/or/relay.c @@ -731,13 +731,15 @@ connection_ap_process_end_not_open( if (rh->length > 0) { if (reason == END_STREAM_REASON_TORPROTOCOL || - reason == END_STREAM_REASON_INTERNAL || reason == END_STREAM_REASON_DESTROY) { - /* All three of these reasons could mean a failed tag + /* Both of these reasons could mean a failed tag * hit the exit and it complained. Do not probe. * Fail the circuit. */ circ->path_state = PATH_STATE_USE_FAILED; return -END_CIRC_REASON_TORPROTOCOL; + } else if (reason == END_STREAM_REASON_INTERNAL) { + /* We can't infer success or failure, since older Tors report + * ENETUNREACH as END_STREAM_REASON_INTERNAL. */ } else { /* Path bias: If we get a valid reason code from the exit, * it wasn't due to tagging. |