aboutsummaryrefslogtreecommitdiff
path: root/src/or/directory.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/or/directory.c')
-rw-r--r--src/or/directory.c4
1 files changed, 4 insertions, 0 deletions
diff --git a/src/or/directory.c b/src/or/directory.c
index 432c704f7..042f3851d 100644
--- a/src/or/directory.c
+++ b/src/or/directory.c
@@ -150,6 +150,10 @@ directory_initiate_command(routerinfo_t *router, uint8_t purpose,
switch(connection_connect(conn, conn->address, conn->addr, conn->port)) {
case -1:
router_mark_as_down(conn->identity_digest); /* don't try him again */
+ if(purpose == DIR_PURPOSE_FETCH_DIR && !all_directory_servers_down) {
+ log_fn(LOG_INFO,"Giving up on dirserver %s; trying another.", conn->nickname);
+ directory_get_from_dirserver(purpose, payload, payload_len);
+ }
connection_free(conn);
return;
case 1: