[tor-bugs] #9635 [Tor]: Tor fails handshakes, onion_skin_client_handshake, circuit_finish_handshake, connection_edge_process_relay_cell

Tor Bug Tracker & Wiki blackhole at torproject.org
Wed Sep 11 00:14:35 UTC 2013


#9635: Tor fails handshakes, onion_skin_client_handshake,
circuit_finish_handshake, connection_edge_process_relay_cell
------------------------+-------------------------------------
     Reporter:  bastik  |      Owner:
         Type:  defect  |     Status:  new
     Priority:  normal  |  Milestone:  Tor: 0.2.5.x-final
    Component:  Tor     |    Version:  Tor: unspecified
   Resolution:          |   Keywords:  tor-bridge 024-backport
Actual Points:          |  Parent ID:
       Points:          |
------------------------+-------------------------------------

Comment (by arma):

 Here's the bonus info-level message that happens after the above three and
 gives us our clue:
 {{{
 Sep 10 18:33:52.724 [info] command_process_relay_cell():
 circuit_receive_relay_
 cell (backward) failed. Closing.
 }}}

 Looks like the call chain is that command_process_relay_cell() receives an
 extend or extend2 cell, passes it to circuit_receive_relay_cell(), which
 passes it to connection_edge_process_relay_cell() (in the
 CELL_DIRECTION_IN case), which sees RELAY_COMMAND_EXTENDED or
 RELAY_COMMAND_EXTENDED2 and calls circuit_finish_handshake() which pulls
 out the 'created' cell and calls onion_skin_client_handshake(),
 which returns -1 but doesn't say why.

 So if I were to suggest a fix, I'd suggest that
 onion_skin_client_handshake() should have an *errmsg parameter which it
 sets if it wants to complain about something. Then the various
 subfunctions it calls can set it, or we can choose not to complain if a
 failure isn't worth telling the user about.

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


More information about the tor-bugs mailing list