Commit 95a7e7e9 authored by Nick Mathewson's avatar Nick Mathewson 🦀
Browse files

Stop using CREATE_FAST as a signifier of clienthood.

Relays send it, and we may as well let them.  Part of our fix for
22805.
parent 6a75a6fd
Loading
Loading
Loading
Loading
+2 −1
Original line number Diff line number Diff line
  o Minor features (relay):
    - When choosing which circuits can be expired as unused, consider
      circuits from clients even if those clients used regular CREATE
      cells to make them. Part of ticket 22805.
      cells to make them; and do not consider circuits from relays even if
      they were made with CREATE_FAST. Part of ticket 22805.

  o Code simplification and refactoring:
    - Remove various ways of testing circuits and connections for
+0 −10
Original line number Diff line number Diff line
@@ -353,16 +353,6 @@ command_process_create_cell(cell_t *cell, channel_t *chan)
    int len;
    created_cell_t created_cell;

    /* If the client used CREATE_FAST, it's probably a tor client or bridge
     * relay, and we must not use it for EXTEND requests (in most cases, we
     * won't have an authenticated peer ID for the extend).
     * Public relays on 0.2.9 and later will use CREATE_FAST if they have no
     * ntor onion key for this relay, but that should be a rare occurrence.
     * Clients on 0.3.1 and later avoid using CREATE_FAST as much as they can,
     * even during bootstrap, so the CREATE_FAST check is most accurate for
     * earlier tor client versions. */
    channel_mark_client(chan);

    memset(&created_cell, 0, sizeof(created_cell));
    len = onion_skin_server_handshake(ONION_HANDSHAKE_TYPE_FAST,
                                       create_cell->onionskin,