[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