[tor-bugs] #7341 [Tor]: circuit_expire_building applies CBT in twisted ways on hidden service circuits

Tor Bug Tracker & Wiki blackhole at torproject.org
Sun Nov 25 23:44:27 UTC 2012


#7341: circuit_expire_building applies CBT in twisted ways on hidden service
circuits
------------------------+---------------------------------------------------
 Reporter:  mikeperry   |          Owner:                    
     Type:  defect      |         Status:  new               
 Priority:  normal      |      Milestone:  Tor: 0.2.4.x-final
Component:  Tor         |        Version:                    
 Keywords:  tor-client  |         Parent:                    
   Points:              |   Actualpoints:                    
------------------------+---------------------------------------------------

Comment(by mikeperry):

 Ok, I think the cannibalize fixes have managed to cut down the
 CIRCUIT_PURPOSE_C_GENERAL timeouts to a reasonably small number. I'm still
 pondering what to do with CIRCUIT_PURPOSE_C_INTRODUCING and
 CIRCUIT_PURPOSE_C_ESTABLISH_REND. I currently have two ideas:

 1. Flag them with hs_circ_has_timed_out and launch a new circuit in
 parallel, and then use the first INDTRODUCE_ACK one to get back to us.
 This seems like it will work especially well for
 CIRCUIT_PURPOSE_C_INTRODUCING, but I'm not sure it will be great for
 CIRCUIT_PURPOSE_C_ESTABLISH_REND, given that we'd need to reuse the rend
 cookie and/or restart the whole introduction handshake too.

 2. Simply declare the circuit purpose(s) exempt from timeouts once the
 circuit was already built to its full length. It might make sense to apply
 the CircuitStreamTimeout instead of messing around with CBT for them,
 since they are more like end-to-end RELAY cells anyway. I think I like
 this idea for CIRCUIT_PURPOSE_C_ESTABLISH_REND, due to the cookie issues
 above.

 So I think I'm going to try to hack up approach 1 for
 CIRCUIT_PURPOSE_C_INTRODUCING and approach 2 for
 CIRCUIT_PURPOSE_C_ESTABLISH_REND. Anyone object?

 If anyone knows any potential pitfalls with launching
 CIRCUIT_PURPOSE_C_INTRODUCING requests in parallel, or wants to help me
 out by pointing me at the regions of the code I'd need to hack to do this,
 I'd appreciate that, too.

 I also need to task switch to W3C stuff, so you guys have till at least
 Wednesday to mull it over.

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


More information about the tor-bugs mailing list