[tor-bugs] #17574 [Tor]: Fallback mirrors should never fetch from fallback mirrors

Tor Bug Tracker & Wiki blackhole at torproject.org
Thu Dec 10 20:02:11 UTC 2015


#17574: Fallback mirrors should never fetch from fallback mirrors
--------------------+------------------------------------
 Reporter:  teor    |          Owner:
     Type:  defect  |         Status:  needs_information
 Priority:  Medium  |      Milestone:  Tor: 0.2.8.x-final
Component:  Tor     |        Version:  Tor: 0.2.4.7-alpha
 Severity:  Normal  |     Resolution:
 Keywords:          |  Actual Points:
Parent ID:  #17709  |         Points:
  Sponsor:          |
--------------------+------------------------------------

Comment (by teor):

 Replying to [comment:11 nickm]:
 > Replying to [comment:8 teor]:
 > > Deferring this change - it's not clear it's necessary, and the current
 behaviour is acceptable:
 > > * fallbacks contact the authorities when bootstrapping, or other
 fallbacks if all authorities are inaccessible
 > > * fallbacks contact the authorities when updating their consensus, or
 other directory mirrors if all authorities are inaccessible
 >   (... or when looking for certs and (micro) descriptors  that they
 don't currently have, right?)

 It depends.

 When fetching certs and microdescriptors, directory_get_from_dirserver()
 calls directory_fetches_from_authorities() to find out if it should
 contact an authority. (This happens regardless of whether tor has a valid
 consensus.)

 directory_fetches_from_authorities() is a long list of special cases that
 would be easier to read if they had less `!` and `||`. But it leads to the
 following outcomes:

 These tor instances will fetch from the authorities (or the mirrors in the
 consensus, or the fallbacks, in that order):
 * relays with recently uploaded descriptors that are:
   * directory mirrors, and/or
   * exits,
 * relays that don't know their address, and
 * clients with FetchDirInfoEarly set.

 All other tor instances will fetch from the mirrors in the consensus (or
 the fallbacks, or the authorities, in that order):
 * clients,
 * bridges,
 * hidden services,
 * all relays during initial bootstrap, as long as they know their address,
 * non-directory, non-exit relays, and
 * bridge clients (or maybe they fetch from their bridge(s)).

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


More information about the tor-bugs mailing list