diff options
Diffstat (limited to 'src/or/circuitbuild.c')
-rw-r--r-- | src/or/circuitbuild.c | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/src/or/circuitbuild.c b/src/or/circuitbuild.c index 3ef6e7e5ce..8a1864ce87 100644 --- a/src/or/circuitbuild.c +++ b/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; |