summaryrefslogtreecommitdiff
path: root/src/or/connection.c
diff options
context:
space:
mode:
authorRoger Dingledine <arma@torproject.org>2008-09-16 10:17:04 +0000
committerRoger Dingledine <arma@torproject.org>2008-09-16 10:17:04 +0000
commit38f2272d5d9f16f68ac4fd426f9f066e5b85c3dd (patch)
tree4dbc9d13b9aea71e45824d14d6735af0a6bc746d /src/or/connection.c
parent3db8c152878c665823711fb1b8bcb61927014e3e (diff)
downloadtor-38f2272d5d9f16f68ac4fd426f9f066e5b85c3dd.tar.gz
tor-38f2272d5d9f16f68ac4fd426f9f066e5b85c3dd.zip
patch from karsten for bug 814. whew.
svn:r16915
Diffstat (limited to 'src/or/connection.c')
-rw-r--r--src/or/connection.c9
1 files changed, 7 insertions, 2 deletions
diff --git a/src/or/connection.c b/src/or/connection.c
index 41d7020bd9..6aa5f8588c 100644
--- a/src/or/connection.c
+++ b/src/or/connection.c
@@ -523,8 +523,13 @@ connection_about_to_close_connection(connection_t *conn)
* failed: forget about this router, and maybe try again. */
connection_dir_request_failed(dir_conn);
}
- if (conn->purpose == DIR_PURPOSE_FETCH_RENDDESC)
- rend_client_desc_here(dir_conn->rend_query); /* give it a try */
+ if (conn->purpose == DIR_PURPOSE_FETCH_RENDDESC) {
+ /* Give it a try. However, there is no re-fetching for v0 rend
+ * descriptors; if the response is empty or the descriptor is
+ * unusable, close pending connections (unless a v2 request is
+ * still in progress). */
+ rend_client_desc_here(dir_conn->rend_query, 0);
+ }
/* 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