[tor-bugs] #3443 [Tor Client]: Client with low CBT can't establish any circuits

Tor Bug Tracker & Wiki torproject-admin at torproject.org
Mon May 21 17:53:10 UTC 2012


#3443: Client with low CBT can't establish any circuits
------------------------+---------------------------------------------------
 Reporter:  arma        |          Owner:                    
     Type:  defect      |         Status:  new               
 Priority:  major       |      Milestone:  Tor: 0.2.2.x-final
Component:  Tor Client  |        Version:                    
 Keywords:  regression  |         Parent:                    
   Points:              |   Actualpoints:                    
------------------------+---------------------------------------------------

Comment(by mikeperry):

 Replying to [comment:22 mikeperry]:
 > Replying to [comment:20 nickm]:
 > > I think #1 is probably a fine option for Tor 0.2.3.x; do we have time
 to do it?
 >
 > Well the quick hack is just to move the call
 tor_gettimeofday(&circ->timestamp_created); from init_circuit_base() to
 the point in the connection state machine where the connection is
 complete. Not sure right now exactly where that is, but I imagine
 somewhere in connection_or.c? Possibly connection_tls_finish_handshake()?
 Or is there a later state we'd want to target instead? Of course, there's
 also the need to iterate over all pending circs for that orconn in that
 function..

 Clarification: You still need to leave the timestamp in
 init_circuit_base(), to handle the case where there already is an existing
 orconn ready to go.

 > Once that is done, we'd just add an extra check in
 circuit_expire_building() and maybe also
 circuit_expire_old_circuits_clientside() to ignore destroying circuits
 without an established ORCONN..
 >
 > However, the question then arises: When do we actually decide to give up
 on an ORCONN connection attempt? Do we just let the OS decide? How many
 OSs will just keep waiting forever if they get neither SYNC/ACK or RST, or
 if the TLS server data never arrives? As a hack, we can just use the 95th
 percentile cbt->close_ms if we need any random value that is not forever.

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


More information about the tor-bugs mailing list