summaryrefslogtreecommitdiff
path: root/src/or
diff options
context:
space:
mode:
authorRoger Dingledine <arma@torproject.org>2005-12-28 07:27:41 +0000
committerRoger Dingledine <arma@torproject.org>2005-12-28 07:27:41 +0000
commit5d9256a367a9dccb1efa914b95a00622635ff640 (patch)
tree213e0a04159fb293ac24325b6a5cf1abb61e0b62 /src/or
parentc1145138ead3252ced1cd9b365521e572bd7ad54 (diff)
downloadtor-5d9256a367a9dccb1efa914b95a00622635ff640.tar.gz
tor-5d9256a367a9dccb1efa914b95a00622635ff640.zip
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
Diffstat (limited to 'src/or')
-rw-r--r--src/or/circuitbuild.c9
1 files changed, 6 insertions, 3 deletions
diff --git a/src/or/circuitbuild.c b/src/or/circuitbuild.c
index 154f687f59..f19f1d7708 100644
--- a/src/or/circuitbuild.c
+++ b/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;