Quellcode durchsuchen

Re-fetch v2 rendezvous descriptor only when first try failed. Patch from karsten.

svn:r13439
Nick Mathewson vor 17 Jahren
Ursprung
Commit
be1e577d5e
1 geänderte Dateien mit 4 neuen und 4 gelöschten Zeilen
  1. 4 4
      src/or/connection.c

+ 4 - 4
src/or/connection.c

@@ -477,12 +477,12 @@ connection_about_to_close_connection(connection_t *conn)
         /* It's a directory connection and connecting or fetching
          * failed: forget about this router, and maybe try again. */
         connection_dir_request_failed(dir_conn);
+        /* if we were trying to fetch a v2 rend desc, retry as needed */
+        if (conn->purpose == DIR_PURPOSE_FETCH_RENDDESC_V2)
+          rend_client_refetch_v2_renddesc(dir_conn->rend_query);
       }
-      /* if we were trying to fetch a rend desc, retry as needed */
       if (conn->purpose == DIR_PURPOSE_FETCH_RENDDESC)
-        rend_client_desc_here(dir_conn->rend_query);
-      if (conn->purpose == DIR_PURPOSE_FETCH_RENDDESC_V2)
-        rend_client_refetch_v2_renddesc(dir_conn->rend_query);
+        rend_client_desc_here(dir_conn->rend_query); /* give it a try */
       break;
     case CONN_TYPE_OR:
       or_conn = TO_OR_CONN(conn);