Ver código fonte

Retry streams that ended with NOROUTE error

Also add the NOROUTE reason to control-spec.
Sebastian Hahn 14 anos atrás
pai
commit
161b275028
2 arquivos alterados com 2 adições e 1 exclusões
  1. 1 1
      doc/spec/control-spec.txt
  2. 1 0
      src/or/relay.c

+ 1 - 1
doc/spec/control-spec.txt

@@ -1029,7 +1029,7 @@ $Id$
 
       Reason = "MISC" / "RESOLVEFAILED" / "CONNECTREFUSED" /
                "EXITPOLICY" / "DESTROY" / "DONE" / "TIMEOUT" /
-               "HIBERNATING" / "INTERNAL"/ "RESOURCELIMIT" /
+               "NOROUTE" / "HIBERNATING" / "INTERNAL"/ "RESOURCELIMIT" /
                "CONNRESET" / "TORPROTOCOL" / "NOTDIRECTORY" / "END"
 
    The "REASON" field is provided only for FAILED, CLOSED, and DETACHED

+ 1 - 0
src/or/relay.c

@@ -743,6 +743,7 @@ connection_ap_process_end_not_open(
       case END_STREAM_REASON_RESOLVEFAILED:
       case END_STREAM_REASON_TIMEOUT:
       case END_STREAM_REASON_MISC:
+      case END_STREAM_REASON_NOROUTE:
         if (client_dns_incr_failures(conn->socks_request->address)
             < MAX_RESOLVE_FAILURES) {
           /* We haven't retried too many times; reattach the connection. */