Author: Sebastian Hahn <sebast...@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