summaryrefslogtreecommitdiff
path: root/src/or/rendclient.c
diff options
context:
space:
mode:
authorRoger Dingledine <arma@torproject.org>2008-09-09 08:41:58 +0000
committerRoger Dingledine <arma@torproject.org>2008-09-09 08:41:58 +0000
commitef7af1d61e242913bcbeff1490d5300d1a9977c5 (patch)
tree169a077d08fdf640ea2d8c119841d220909070a5 /src/or/rendclient.c
parentd37fae2f4edb03095f943577f78b518f75f6ca71 (diff)
downloadtor-ef7af1d61e242913bcbeff1490d5300d1a9977c5.tar.gz
tor-ef7af1d61e242913bcbeff1490d5300d1a9977c5.zip
karsten's patch for bug 767.
svn:r16808
Diffstat (limited to 'src/or/rendclient.c')
-rw-r--r--src/or/rendclient.c5
1 files changed, 3 insertions, 2 deletions
diff --git a/src/or/rendclient.c b/src/or/rendclient.c
index a1c1eb07ab..155b51c1c2 100644
--- a/src/or/rendclient.c
+++ b/src/or/rendclient.c
@@ -354,12 +354,13 @@ directory_get_from_hs_dir(const char *desc_id, const char *query)
desc_id, DIGEST_LEN);
/* Only select those hidden service directories to which we did not send
- * a request recently. */
+ * a request recently and for which we have a router descriptor here. */
directory_clean_last_hid_serv_requests(); /* Clean request history first. */
SMARTLIST_FOREACH(responsible_dirs, routerstatus_t *, dir, {
if (lookup_last_hid_serv_request(dir, desc_id_base32, 0, 0) +
- REND_HID_SERV_DIR_REQUERY_PERIOD >= now)
+ REND_HID_SERV_DIR_REQUERY_PERIOD >= now ||
+ !router_get_by_digest(dir->identity_digest))
SMARTLIST_DEL_CURRENT(responsible_dirs, dir);
});