Commit 120a7453 authored by Nick Mathewson's avatar Nick Mathewson 🦀
Browse files

Bug 4786 fix: don't convert EARLY to RELAY on v1 connections

We used to do this as a workaround for older Tors, but now it's never
the correct thing to do (especially since anything that didn't
understand RELAY_EARLY is now deprecated hard).
parent 9d077783
Loading
Loading
Loading
Loading

changes/bug4786

0 → 100644
+9 −0
Original line number Diff line number Diff line
  - Feature removal:
    - When sending or relaying a RELAY_EARLY cell, we used to convert
      it to a RELAY cell if the connection was using the v1 link
      protocol. This was a workaround for older versions of Tor, which
      didn't handle RELAY_EARLY cells properly. Now that all supported
      versions can handle RELAY_EARLY cells, and now that we're
      enforcing the "no RELAY_EXTEND commands except in RELAY_EARLY
      cells" rule, we're removing this workaround. Addresses bug 4786.
+0 −4
Original line number Diff line number Diff line
@@ -1858,10 +1858,6 @@ append_cell_to_circuit_queue(circuit_t *circ, or_connection_t *orconn,
    queue = &orcirc->p_conn_cells;
    streams_blocked = circ->streams_blocked_on_p_conn;
  }
  if (cell->command == CELL_RELAY_EARLY && orconn->link_proto < 2) {
    /* V1 connections don't understand RELAY_EARLY. */
    cell->command = CELL_RELAY;
  }

  cell_queue_append_packed_copy(queue, cell);