summaryrefslogtreecommitdiff
path: root/src/or/directory.c
diff options
context:
space:
mode:
authorRoger Dingledine <arma@torproject.org>2007-12-10 17:16:41 +0000
committerRoger Dingledine <arma@torproject.org>2007-12-10 17:16:41 +0000
commit52363d23d76c2ba5139a4985302b31fe1ff58cf2 (patch)
tree97dd145586d01b0ac2f2e3089e8d36f3427471e4 /src/or/directory.c
parentee6ae92670b587baa45c5088f52278db4bef0205 (diff)
downloadtor-52363d23d76c2ba5139a4985302b31fe1ff58cf2.tar.gz
tor-52363d23d76c2ba5139a4985302b31fe1ff58cf2.zip
If we can't expand our list of entry guards (e.g. because we're
using bridges or we have StrictEntryNodes set), don't mark relays down when they fail a directory request. Otherwise we're too quick to mark all our entry points down. svn:r12755
Diffstat (limited to 'src/or/directory.c')
-rw-r--r--src/or/directory.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/src/or/directory.c b/src/or/directory.c
index 39a65f50b7..628c94e249 100644
--- a/src/or/directory.c
+++ b/src/or/directory.c
@@ -500,7 +500,8 @@ connection_dir_request_failed(dir_connection_t *conn)
me->address, me->dir_port);
return; /* this was a test fetch. don't retry. */
}
- router_set_status(conn->identity_digest, 0); /* don't try him again */
+ if (entry_list_can_grow(get_options()))
+ router_set_status(conn->identity_digest, 0); /* don't try him again */
if (conn->_base.purpose == DIR_PURPOSE_FETCH_DIR ||
conn->_base.purpose == DIR_PURPOSE_FETCH_RUNNING_LIST) {
log_info(LD_DIR, "Giving up on directory server at '%s:%d'; retrying",