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

svn:r13439
This commit is contained in:
Nick Mathewson 2008-02-09 02:51:20 +00:00
parent 1f034cc5c7
commit be1e577d5e

View File

@ -477,12 +477,12 @@ connection_about_to_close_connection(connection_t *conn)
/* It's a directory connection and connecting or fetching /* It's a directory connection and connecting or fetching
* failed: forget about this router, and maybe try again. */ * failed: forget about this router, and maybe try again. */
connection_dir_request_failed(dir_conn); 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) if (conn->purpose == DIR_PURPOSE_FETCH_RENDDESC)
rend_client_desc_here(dir_conn->rend_query); rend_client_desc_here(dir_conn->rend_query); /* give it a try */
if (conn->purpose == DIR_PURPOSE_FETCH_RENDDESC_V2)
rend_client_refetch_v2_renddesc(dir_conn->rend_query);
break; break;
case CONN_TYPE_OR: case CONN_TYPE_OR:
or_conn = TO_OR_CONN(conn); or_conn = TO_OR_CONN(conn);