mirror of
https://gitlab.torproject.org/tpo/core/tor.git
synced 2024-11-10 21:23:58 +01:00
r18066@catbus: nickm | 2008-02-13 11:22:19 -0500
Bugfix from Karsten: "Reversed r13439; v2 rendezvous descriptors were only re-fetched when a directory connection did not finish, not when a directory correctly replied with an error code like 404; bug found by nwf. svn:r13492
This commit is contained in:
parent
2ee191e267
commit
d48f6425e5
@ -477,12 +477,15 @@ 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 (conn->purpose == DIR_PURPOSE_FETCH_RENDDESC)
|
||||
rend_client_desc_here(dir_conn->rend_query); /* give it a try */
|
||||
/* If we were trying to fetch a v2 rend desc and did not succeed,
|
||||
* retry as needed. (If a fetch is successful, the connection state
|
||||
* is changed to DIR_PURPOSE_HAS_FETCHED_RENDDESC to mark that
|
||||
* refetching is unnecessary.) */
|
||||
if (conn->purpose == DIR_PURPOSE_FETCH_RENDDESC_V2)
|
||||
rend_client_refetch_v2_renddesc(dir_conn->rend_query);
|
||||
break;
|
||||
case CONN_TYPE_OR:
|
||||
or_conn = TO_OR_CONN(conn);
|
||||
|
Loading…
Reference in New Issue
Block a user