Browse Source

Use nodes in EntryNodes even if they're not fast/stable

Roger Dingledine 16 years ago
parent
commit
cc73bc3853
1 changed files with 6 additions and 0 deletions
  1. 6 0
      src/or/circuitbuild.c

+ 6 - 0
src/or/circuitbuild.c

@@ -2854,6 +2854,7 @@ entry_is_live(entry_guard_t *e, int need_uptime, int need_capacity,
               int assume_reachable, const char **msg)
 {
   routerinfo_t *r;
+  or_options_t *options = get_options();
   tor_assert(msg);
 
   if (e->bad_since) {
@@ -2879,6 +2880,11 @@ entry_is_live(entry_guard_t *e, int need_uptime, int need_capacity,
     *msg = "not general-purpose";
     return NULL;
   }
+  if (options->EntryNodes &&
+      routerset_contains_router(options->EntryNodes, r)) {
+    /* they asked for it, they get it */
+    need_uptime = need_capacity = 0;
+  }
   if (router_is_unreliable(r, need_uptime, need_capacity, 0)) {
     *msg = "not fast/stable";
     return NULL;