[tor-bugs] #24731 [Core Tor/Tor]: Stop checking routerinfos for addresses when we use microdescs for circuits

Tor Bug Tracker & Wiki blackhole at torproject.org
Sun Dec 24 11:00:30 UTC 2017


#24731: Stop checking routerinfos for addresses when we use microdescs for circuits
------------------------------+--------------------------------
     Reporter:  teor          |      Owner:  (none)
         Type:  defect        |     Status:  new
     Priority:  Medium        |  Milestone:  Tor: 0.3.3.x-final
    Component:  Core Tor/Tor  |    Version:
     Severity:  Normal        |   Keywords:  ipv6, tor-relay
Actual Points:                |  Parent ID:  #24403
       Points:                |   Reviewer:
      Sponsor:                |
------------------------------+--------------------------------
 Directory mirrors and clients that FetchUselessDescriptors check for IPv4
 and IPv6 addresses in the following order:
 * routerinfos (descriptors)
 * routerstatus (consensus)
 * microdescriptors

 But they should check using the following order:
 * bridge routerinfos (descriptors)
 * routerstatus (consensus)
 If using microdescriptors for circuits:
 * microdescriptors
 Otherwise:
 * routerinfos (descriptors)

 There is code that implements this algorithm in commits decb0636e2,
 1d1c927b9a, and 4979ec3c17 of my bug23975_tree branch.

 But this adds overhead to every address lookup when building circuits.

 Maybe we can make it faster by:
 * not parsing routerinfos or microdescs if we aren't using them for
 circuits, or
 * putting a canonical address in node_t, updating it whenever ri, rs, or
 md change, and always using it

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


More information about the tor-bugs mailing list