summaryrefslogtreecommitdiff
path: root/src/or/circuitbuild.c
diff options
context:
space:
mode:
authorNick Mathewson <nickm@torproject.org>2017-05-08 13:54:59 -0400
committerNick Mathewson <nickm@torproject.org>2017-05-08 13:54:59 -0400
commit4d30dde15670bd4fb572025116304286880db636 (patch)
tree7a368ad50ff8949ff106f03012888f0b9f2a5521 /src/or/circuitbuild.c
parent35025ee51ff9204271fcfc787a99334082e531a1 (diff)
parent9f8e462c89a8320f161f5a77661d573d889651cf (diff)
downloadtor-4d30dde15670bd4fb572025116304286880db636.tar.gz
tor-4d30dde15670bd4fb572025116304286880db636.zip
Merge branch 'netflow_padding-v6-rebased2-squashed'
Diffstat (limited to 'src/or/circuitbuild.c')
-rw-r--r--src/or/circuitbuild.c11
1 files changed, 10 insertions, 1 deletions
diff --git a/src/or/circuitbuild.c b/src/or/circuitbuild.c
index f8b3609757..08827c053b 100644
--- a/src/or/circuitbuild.c
+++ b/src/or/circuitbuild.c
@@ -939,9 +939,18 @@ circuit_send_next_onion_skin(origin_circuit_t *circ)
memset(&cc, 0, sizeof(cc));
if (circ->build_state->onehop_tunnel)
control_event_bootstrap(BOOTSTRAP_STATUS_ONEHOP_CREATE, 0);
- else
+ else {
control_event_bootstrap(BOOTSTRAP_STATUS_CIRCUIT_CREATE, 0);
+ /* If this is not a one-hop tunnel, the channel is being used
+ * for traffic that wants anonymity and protection from traffic
+ * analysis (such as netflow record retention). That means we want
+ * to pad it.
+ */
+ if (circ->base_.n_chan->channel_usage < CHANNEL_USED_FOR_FULL_CIRCS)
+ circ->base_.n_chan->channel_usage = CHANNEL_USED_FOR_FULL_CIRCS;
+ }
+
node = node_get_by_id(circ->base_.n_chan->identity_digest);
fast = should_use_create_fast_for_circuit(circ);
if (!fast) {