[tor-bugs] #1776 [Tor Client]: Allow regular relays to be used as bridges

Tor Bug Tracker & Wiki torproject-admin at torproject.org
Sat Oct 2 10:41:46 UTC 2010


#1776: Allow regular relays to be used as bridges
-------------------------+--------------------------------------------------
  Reporter:  Sebastian   |       Owner:  arma              
      Type:  defect      |      Status:  reopened          
  Priority:  normal      |   Milestone:  Tor: 0.2.2.x-final
 Component:  Tor Client  |     Version:                    
Resolution:              |    Keywords:                    
    Parent:              |  
-------------------------+--------------------------------------------------

Comment(by arma):

 We're baaack!

 bug1776_v3 introduced an assert that could trigger on directory
 authorities.

 The issue is that router_get_by_digest(id_digest) and
 sdmap_get(routerlist->desc_digest_map,
 router->cache_info.signed_descriptor_digest) are deliberately not kept in
 sync if you're a directory cache. That's because the desc_digest_map
 includes descriptors that are in old_routers, that is, the descriptors
 that are cached but not in the currently recommended routerlist.

 The assert should only be triggerable on directory authorities, since
 other Tors avoid downloading something they already have: e.g.
 router_get_by_descriptor_digest() in
 update_consensus_router_descriptor_downloads() looks at
 routerlist->desc_digest_map, which is what we want.

 The logic is going to be messy here, because it's not just a matter of
 "drop or don't drop if !old_router" -- we want to drop the new descriptor
 if desc_digest_map already has it and the copy we have (whether in
 routerlist or old_routers) is not worth replacing.

 Probably we'll be happier working out the logic, using intermediate
 variables, rather than trying to cram it into one awful if. For example, a
 truth table based on all the variables would help us sort out what we
 actually want to *do* in each case.

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


More information about the tor-bugs mailing list