[tor-bugs] #24392 [Core Tor/Tor]: Ignore cached bridge descriptors until we check if they are running

Tor Bug Tracker & Wiki blackhole at torproject.org
Fri Dec 1 22:25:32 UTC 2017


#24392: Ignore cached bridge descriptors until we check if they are running
-------------------------------------------------+-------------------------
 Reporter:  teor                                 |          Owner:  nickm
     Type:  defect                               |         Status:
                                                 |  merge_ready
 Priority:  Medium                               |      Milestone:  Tor:
                                                 |  0.3.2.x-final
Component:  Core Tor/Tor                         |        Version:  Tor:
                                                 |  0.3.2.1-alpha
 Severity:  Normal                               |     Resolution:
 Keywords:  regression, tor-bridge-client,       |  Actual Points:  0.3
  s8-errors                                      |
Parent ID:  #24367                               |         Points:  0.3
 Reviewer:                                       |        Sponsor:
-------------------------------------------------+-------------------------

Comment (by teor):

 Replying to [comment:5 arma]:
 > I'm stuck in a maze of twisty little tickets, all being parents of each
 other

 Maybe trac needs a tree view? :-)

 > , but: in proposed commit 690f646bf:
 >
 > {{{
 > diff --git a/src/or/circuituse.c b/src/or/circuituse.c
 > index aa0df95..8c9859b 100644
 > --- a/src/or/circuituse.c
 > +++ b/src/or/circuituse.c
 > @@ -2084,7 +2084,7 @@ circuit_get_open_circ_or_launch(entry_connection_t
 *conn,
 >                 "used client functionality lately" :
 >                 "received a consensus with exits",
 >                 options->UseBridges ? "bridges" : "entrynodes");
 > -      } else if (!options->UseBridges ||
 any_bridge_descriptors_known()) {
 > +      } else if (!options->UseBridges || num_bridges_usable() > 0) {
 >          log_fn(severity, LD_APP|LD_DIR,
 >                 "Application request when we haven't %s. "
 >                 "Optimistically trying directory fetches again.",
 > }}}
 >
 > teor, did you check that you didn't break this functionality? We have
 broken it several times in the past and taken years to notice.


 > (#14216 is the ticket where I fixed it last)

 #14216 was a partial fix. This ticket may be part of a more complete fix.

 This functionality has been easy to break *because* of this bug #24392,
 which goes back to commit eca2a30 in 0.2.0.3-alpha. Checking for cached
 bridge descriptors is definitely the wrong thing to do, because it can
 find the wrong type of bridges, and it can find non-running bridges. We
 need to check for live bridges instead. This fix needs to be applied
 regardless of any other bugs.

 Once it's fixed, we will deal with any remaining issues in #24367, which
 happened (or was exposed as a bug) due to  #23347 and #17750. I'll add a
 child ticket to #24367 so we test optimistic retries (that ticket is long
 enough and mentions too many issues as it is).

--
Ticket URL: <https://trac.torproject.org/projects/tor/ticket/24392#comment:7>
Tor Bug Tracker & Wiki <https://trac.torproject.org/>
The Tor Project: anonymity online


More information about the tor-bugs mailing list