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.
This commit is contained in:
Matthew Finkel 2015-01-31 09:34:24 +00:00
parent aba90b2125
commit 4cb59ceb8e
2 changed files with 8 additions and 1 deletions

5
changes/bug14216 Normal file
View File

@ -0,0 +1,5 @@
o Minor bugfixes:
- When we are using bridges and we had a network connectivity problem, only
retry connecting to our currently configured bridges, not all bridges we
know about and remember using.
Fixes bug 14216; bugfix on tor-0.2.2.17-alpha. Patch from arma.

View File

@ -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 */