summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRoger Dingledine <arma@torproject.org>2008-04-15 23:05:44 +0000
committerRoger Dingledine <arma@torproject.org>2008-04-15 23:05:44 +0000
commit28c802b5fded71ddbe39be41cdb6e4a94c30f098 (patch)
treeacb551eb30eb93a9bcaa8ab0540efb0cff91ec0c
parent5f85fc9681c07fca07d82d7fd52f420273a734ae (diff)
downloadtor-28c802b5fded71ddbe39be41cdb6e4a94c30f098.tar.gz
tor-28c802b5fded71ddbe39be41cdb6e4a94c30f098.zip
Avoid a rare assert that can trigger when Tor doesn't have much
directory information yet and it tries to fetch a v2 hidden service descriptor. Fixes bug 651, reported by nwf. svn:r14373
-rw-r--r--ChangeLog3
-rw-r--r--src/or/connection.c4
2 files changed, 6 insertions, 1 deletions
diff --git a/ChangeLog b/ChangeLog
index 6b92ae153e..fb1fd5d79a 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,8 @@
Changes in version 0.2.0.24-rc - 2008-04-0?
o Minor bugfixes:
+ - Avoid a rare assert that can trigger when Tor doesn't have much
+ directory information yet and it tries to fetch a v2 hidden
+ service descriptor. Fixes bug 651, reported by nwf.
- Initialize log mutex before initializing dmalloc. Otherwise,
running with dmalloc would crash. Bugfix on 0.2.0.x-alpha.
- Do not read the configuration file when we've only been told to
diff --git a/src/or/connection.c b/src/or/connection.c
index 8168868644..f150727b92 100644
--- a/src/or/connection.c
+++ b/src/or/connection.c
@@ -485,7 +485,9 @@ connection_about_to_close_connection(connection_t *conn)
* 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)
+ if (conn->purpose == DIR_PURPOSE_FETCH_RENDDESC_V2 &&
+ dir_conn->rend_query &&
+ strlen(dir_conn->rend_query) == REND_SERVICE_ID_LEN_BASE32)
rend_client_refetch_v2_renddesc(dir_conn->rend_query);
break;
case CONN_TYPE_OR: