[tor-bugs] #3322 [Tor Bridge]: We don't retry our bridges if we have an unconfigured bridge that's up

Tor Bug Tracker & Wiki torproject-admin at torproject.org
Wed Jun 1 20:39:08 UTC 2011


#3322: We don't retry our bridges if we have an unconfigured bridge that's up
------------------------+---------------------------------------------------
 Reporter:  arma        |          Owner:                    
     Type:  defect      |         Status:  new               
 Priority:  normal      |      Milestone:  Tor: 0.2.2.x-final
Component:  Tor Bridge  |        Version:                    
 Keywords:              |         Parent:                    
   Points:              |   Actualpoints:                    
------------------------+---------------------------------------------------

Comment(by arma):

 The issue is that circuit_get_open_circ_or_launch() checks
 {{{
       if (entry_list_is_constrained(options) &&
           entries_known_but_down(options)) {
 }}}

 where entries_known_but_down() calls entries_retry_helper(options, 0)
 which checks
 {{{
   int purpose = options->UseBridges ?
                   ROUTER_PURPOSE_BRIDGE : ROUTER_PURPOSE_GENERAL;
 ...
       ri = router_get_by_digest(e->identity);
       if (ri && ri->purpose == purpose) {
         any_known = 1;
 }}}

 Basically, it doesn't care if the bridge is currently in our Bridge config
 list, so long as there is some descriptor we know that has purpose bridge.

 The right answer here is to replace all of this with a call to
 entry_is_live(e). But I worry that a down entry isn't live (because it's
 "bad"), so we wouldn't find it.

 The interim (0.2.2.x) fix might be to just check explicitly if it's a
 configured bridge.

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


More information about the tor-bugs mailing list