diff options
author | Matthew Finkel <Matthew.Finkel@gmail.com> | 2015-01-31 09:34:24 +0000 |
---|---|---|
committer | Matthew Finkel <Matthew.Finkel@gmail.com> | 2015-01-31 09:46:18 +0000 |
commit | 4cb59ceb8ef603f5661f87e4787d45255fbe210c (patch) | |
tree | 23829555e51b5ce3eef3bfd4aec83e9f8479d193 /src/or/entrynodes.c | |
parent | aba90b2125725a2d870a847482e30d78a1a2582d (diff) | |
download | tor-4cb59ceb8ef603f5661f87e4787d45255fbe210c.tar.gz tor-4cb59ceb8ef603f5661f87e4787d45255fbe210c.zip |
Only retry connecting to configured bridges
After connectivity problems, only try connecting to bridges which
are currently configured; don't mark bridges which we previously
used but are no longer configured. Fixes 14216. Reported by
and fix provided by arma.
Diffstat (limited to 'src/or/entrynodes.c')
-rw-r--r-- | src/or/entrynodes.c | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/src/or/entrynodes.c b/src/or/entrynodes.c index 5b0e342662..17cb825de3 100644 --- a/src/or/entrynodes.c +++ b/src/or/entrynodes.c @@ -2368,7 +2368,9 @@ entries_retry_helper(const or_options_t *options, int act) SMARTLIST_FOREACH_BEGIN(entry_guards, entry_guard_t *, e) { node = node_get_by_id(e->identity); if (node && node_has_descriptor(node) && - node_is_bridge(node) == need_bridges) { + node_is_bridge(node) == need_bridges && + (!need_bridges || (!e->bad_since && + node_is_a_configured_bridge(node)))) { any_known = 1; if (node->is_running) any_running = 1; /* some entry is both known and running */ |