Skip to content

GitLab

  • Menu
Projects Groups Snippets
    • Loading...
  • Help
    • Help
    • Support
    • Community forum
    • Submit feedback
    • Contribute to GitLab
  • Sign in
  • Trac Trac
  • Project information
    • Project information
    • Activity
    • Labels
    • Members
  • Issues 246
    • Issues 246
    • List
    • Boards
    • Service Desk
    • Milestones
  • Monitor
    • Monitor
    • Metrics
    • Incidents
  • Analytics
    • Analytics
    • Value stream
  • Wiki
    • Wiki
  • Activity
  • Create a new issue
  • Issue Boards
Collapse sidebar
  • Legacy
  • TracTrac
  • Issues
  • #4368

Closed (moved)
(moved)
Open
Created Nov 01, 2011 by Roger Dingledine@arma

If we wanted to authenticate but we don't like the auth challenge, we never send a netinfo cell

Once we fix #4367 (moved) it will be the case that a relay (initiator) who wants to authenticate, but gets a CELL_AUTH_CHALLENGE cell that it doesn't like (because it has no auth methods that the relay knows), ends up dropping the authenticate cell.

But then the initiator sends no netinfo cell.

The result is that the initiator thinks the connection is open (it drops the authenticate cell, but it already set conn->handshake_state->authenticated to 1 in command_process_cert_cell(), so when it receives the netinfo cell from the responder it will happily process it and end with connection_or_set_state_open()).

But the responder doesn't think the conn is open, since it's not gotten a netinfo cell.

The initiator will presumably then send another cell (e.g. a CREATE cell), since it initiated the connection for a reason. That cell will be silently dropped by the responder:

  if (handshaking && cell->command != CELL_VERSIONS &&
      cell->command != CELL_NETINFO) {
    log_fn(LOG_PROTOCOL_WARN, LD_PROTOCOL,
           "Received unexpected cell command %d in state %s; ignoring it.",
           (int)cell->command,
           conn_state_to_string(CONN_TYPE_OR,conn->_base.state));
    return;
  }

leaving the initiator wondering why it's talking to a black hole. Fun!

To upload designs, you'll need to enable LFS and have an admin enable hashed storage. More information
Assignee
Assign to
Time tracking