aboutsummaryrefslogtreecommitdiff
path: root/src/or/circuitbuild.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/or/circuitbuild.c')
-rw-r--r--src/or/circuitbuild.c6
1 files changed, 6 insertions, 0 deletions
diff --git a/src/or/circuitbuild.c b/src/or/circuitbuild.c
index 3ef6e7e5c..8a1864ce8 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;