Browse Source

but only close the new conn if one of the earlier helper nodes
that we mark up is actually reachable, fast enough, etc to use.


svn:r5672

Roger Dingledine 19 years ago
parent
commit
5d9256a367
1 changed files with 6 additions and 3 deletions
  1. 6 3
      src/or/circuitbuild.c

+ 6 - 3
src/or/circuitbuild.c

@@ -1959,11 +1959,14 @@ helper_node_set_status(const char *digest, int succeeded)
             helper->made_contact = 1;
             SMARTLIST_FOREACH(helper_nodes, helper_node_t *, h,
               {
-                routerinfo_t *r = router_get_by_digest(h->identity);
+                routerinfo_t *r;
                 if (h->made_contact) {
                   h->down_since = 0;
-                  refuse_conn = 1;
-                  if (r) r->is_running = 1;
+                  r = helper_is_live(h, 0, 1);
+                  if (r) {
+                    refuse_conn = 1;
+                    r->is_running = 1;
+                  }
                 }
                 if (h == helper)
                   break;