[or-cvs] [tor/maint-0.2.2] Send relay_early cells in rend circs

nickm at torproject.org nickm at torproject.org
Thu Oct 21 14:49:30 UTC 2010


Author: Sebastian Hahn <sebastian at torproject.org>
Date: Mon, 18 Oct 2010 04:23:31 +0200
Subject: Send relay_early cells in rend circs
Commit: d3b67cba3c1767a50aad5e6c7f71b2986414ca32

There are no relay left that run version 0.2.1.3 through 0.2.1.18, so
changing this behaviour should be safe now.
---
 changes/relay_early_rend |    6 ++++++
 src/or/relay.c           |   14 ++++----------
 2 files changed, 10 insertions(+), 10 deletions(-)
 create mode 100644 changes/relay_early_rend

diff --git a/changes/relay_early_rend b/changes/relay_early_rend
new file mode 100644
index 0000000..411a0f6
--- /dev/null
+++ b/changes/relay_early_rend
@@ -0,0 +1,6 @@
+  o Code simplifications and refactorting:
+    - When we fixed bug 1038 we had to put in a restriction not to send
+      RELAY_EARLY cells for relay cells on rend circuits. This was necessary
+      as long as relays using Tor 0.2.1.3-alpha through 0.2.1.18-alpha were
+      active. Since this isn't the case anymore, we unify our behaviour here.
+      Implements bug 2081.
diff --git a/src/or/relay.c b/src/or/relay.c
index b12cef4..467f884 100644
--- a/src/or/relay.c
+++ b/src/or/relay.c
@@ -592,17 +592,11 @@ relay_send_command_from_edge(streamid_t stream_id, circuit_t *circ,
     origin_circuit_t *origin_circ = TO_ORIGIN_CIRCUIT(circ);
     if (origin_circ->remaining_relay_early_cells > 0 &&
         (relay_command == RELAY_COMMAND_EXTEND ||
-         (cpath_layer != origin_circ->cpath &&
-          !CIRCUIT_PURPOSE_IS_ESTABLISHED_REND(circ->purpose)))) {
-      /* If we've got any relay_early cells left, and we're sending
-       * an extend cell or (we're not talking to the first hop and we're
-       * not talking to a rendezvous circuit), use one of them.
-       * Don't worry about the conn protocol version:
+         cpath_layer != origin_circ->cpath)) {
+      /* If we've got any relay_early cells left and (we're sending
+       * an extend cell or we're not talking to the first hop), use
+       * one of them.  Don't worry about the conn protocol version:
        * append_cell_to_circuit_queue will fix it up. */
-      /* XXX For now, clients don't use RELAY_EARLY cells when sending
-       * relay cells on rendezvous circuits. See bug 1038. Once no relays
-       * (and thus no rendezvous points) are running 0.2.1.3-alpha through
-       * 0.2.1.18, we can take out that exception. -RD */
       cell.command = CELL_RELAY_EARLY;
       --origin_circ->remaining_relay_early_cells;
       log_debug(LD_OR, "Sending a RELAY_EARLY cell; %d remaining.",
-- 
1.7.1



More information about the tor-commits mailing list