diff options
author | Roger Dingledine <arma@torproject.org> | 2008-09-09 08:41:58 +0000 |
---|---|---|
committer | Roger Dingledine <arma@torproject.org> | 2008-09-09 08:41:58 +0000 |
commit | ef7af1d61e242913bcbeff1490d5300d1a9977c5 (patch) | |
tree | 169a077d08fdf640ea2d8c119841d220909070a5 /src/or/rendclient.c | |
parent | d37fae2f4edb03095f943577f78b518f75f6ca71 (diff) | |
download | tor-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.c | 5 |
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); }); |