[tor-commits] [tor/master] Bug 4786 fix: don't convert EARLY to RELAY on v1 connections

nickm at torproject.org nickm at torproject.org
Wed Dec 28 21:26:33 UTC 2011


commit 120a7453465260ddf84770ed1e5e289afe1b14b3
Author: Nick Mathewson <nickm at torproject.org>
Date:   Tue Dec 27 16:41:25 2011 -0500

    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).
---
 changes/bug4786 |    9 +++++++++
 src/or/relay.c  |    4 ----
 2 files changed, 9 insertions(+), 4 deletions(-)

diff --git a/changes/bug4786 b/changes/bug4786
new file mode 100644
index 0000000..7c1c60f
--- /dev/null
+++ b/changes/bug4786
@@ -0,0 +1,9 @@
+  - 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.
+
diff --git a/src/or/relay.c b/src/or/relay.c
index 59e2c5c..272deb1 100644
--- a/src/or/relay.c
+++ b/src/or/relay.c
@@ -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);
 





More information about the tor-commits mailing list