summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorNick Mathewson <nickm@torproject.org>2010-10-21 10:49:44 -0400
committerNick Mathewson <nickm@torproject.org>2010-10-21 10:49:44 -0400
commitea7f4be6d271639bff0731108751a0b20c0b860e (patch)
tree1d40384a081a618a57815c4b4f75d9d698d6926e
parent0ac9a3df6c4ca57dbf5c04ac50d74747451d1494 (diff)
parentd3b67cba3c1767a50aad5e6c7f71b2986414ca32 (diff)
downloadtor-ea7f4be6d271639bff0731108751a0b20c0b860e.tar.gz
tor-ea7f4be6d271639bff0731108751a0b20c0b860e.zip
Merge remote branch 'sebastian/relay_early_rend' into maint-0.2.2
-rw-r--r--changes/relay_early_rend6
-rw-r--r--src/or/relay.c14
2 files changed, 10 insertions, 10 deletions
diff --git a/changes/relay_early_rend b/changes/relay_early_rend
new file mode 100644
index 0000000000..411a0f6408
--- /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 b12cef4912..467f8847c8 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.",