diff options
Diffstat (limited to 'src/or/directory.c')
-rw-r--r-- | src/or/directory.c | 4 |
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: |