summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRoger Dingledine <arma@torproject.org>2010-09-28 21:59:31 -0400
committerRoger Dingledine <arma@torproject.org>2010-09-28 21:59:31 -0400
commit7de1caa33f025db5474dba5f7e256d28c5ab4969 (patch)
tree2fd445832e74a925ed44839ff6ae744faf168715
parentbb22360bad4d19483ff488c9e4a0eae8616fcd81 (diff)
downloadtor-7de1caa33f025db5474dba5f7e256d28c5ab4969.tar.gz
tor-7de1caa33f025db5474dba5f7e256d28c5ab4969.zip
Actually notice when our last entrynode goes down
Otherwise we'd never set have_minimum_dir_info to false, so the "optimistic retry" would never trigger.
-rw-r--r--src/or/circuitbuild.c4
-rw-r--r--src/or/routerlist.c2
2 files changed, 3 insertions, 3 deletions
diff --git a/src/or/circuitbuild.c b/src/or/circuitbuild.c
index a14ab6a46b..a9920e2bcb 100644
--- a/src/or/circuitbuild.c
+++ b/src/or/circuitbuild.c
@@ -4605,7 +4605,7 @@ entries_retry_helper(or_options_t *options, int act)
if (ri->is_running)
any_running = 1; /* some entry is both known and running */
else if (act) { /* mark it for retry */
- ri->is_running = 1;
+ router_set_status(ri->cache_info.identity_digest, 1);
e->can_retry = 1;
e->bad_since = 0;
}
@@ -4625,7 +4625,7 @@ entries_known_but_down(or_options_t *options)
return entries_retry_helper(options, 0);
}
-/** Mark all down known bridges up. */
+/** Mark all down known bridges / entrynodes up. */
void
entries_retry_all(or_options_t *options)
{
diff --git a/src/or/routerlist.c b/src/or/routerlist.c
index 1f542b1f46..a6ca03cde3 100644
--- a/src/or/routerlist.c
+++ b/src/or/routerlist.c
@@ -4786,7 +4786,7 @@ update_router_have_minimum_dir_info(void)
count_usable_descriptors(&num_present, &num_usable, consensus, options,
now, options->EntryNodes);
- if (num_usable && (num_present == 0)) {
+ if (!num_usable || !num_present) {
tor_snprintf(dir_info_status, sizeof(dir_info_status),
"We have only %d/%d usable entry node descriptors.",
num_present, num_usable);