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

Tor Bug Tracker & Wiki torproject-admin at torproject.org
Thu Nov 1 03:16:31 UTC 2012


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

Comment(by mikeperry):

 Replying to [comment:37 nickm]:
 > I think this branch is actually called (typowise) "bug3433."

 Doh. Pushed update to bug3443.

 >  * Don't compare timevals with memcmp; it isn't safe.  They can have
 uninitialized RAM that isn't covered by the fields.  You really need to do
 timercmp instead.

 I've converted this into a direct check against the cpath state.

 >  * What's with the "XXX Need to update this..." ?

 Technically we're updating the timestamp slightly early, but since we were
 already updating the created timestamp there, I decided to put both
 updates in the same place. It shouldn't matter anyway for this actually,
 since the orconn is already open and active. I've tried to clarify this
 comment.

 > For your questions:
 > >Aside from being untested, this definitely needs review because I'm not
 sure I am checking the right state variables for "is the circuit really
 opened" and I'm also not sure I set the timestamp in the right place and
 checked the right circuit state properties there.
 >
 > I can try to review more for consistency, and Andrea can too, but it
 would help a lot if you can spell out which invariants and properties you
 want to make sure are maintained by this code.

 My main concerns are with my usage of cpath->state and has_opened (which I
 use to check for pending first hop/orconn and opened circuits,
 respectively). I've also tried to improve the comments there.

 Everything else you mentioned should be fixed in mikeperry/bug3443. I'll
 be testing this in combination with #7157 soon.

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


More information about the tor-bugs mailing list