From 2755b09c52f78f233ed96aef41d283eb52cc89e8 Mon Sep 17 00:00:00 2001 From: Sebastian Hahn Date: Sat, 25 Feb 2012 17:58:09 +0100 Subject: [PATCH] Don't cannibalize already cannibalized circuits This ensures we don't build circuits that have 5 hops or more. Patch contributed by wanoskarnet, thanks! --- changes/bug5231 | 5 +++++ src/or/circuitlist.c | 1 + 2 files changed, 6 insertions(+) create mode 100644 changes/bug5231 diff --git a/changes/bug5231 b/changes/bug5231 new file mode 100644 index 0000000000..f64f7b6413 --- /dev/null +++ b/changes/bug5231 @@ -0,0 +1,5 @@ + o Minor bugfixes: + - Ensure we don't cannibalize circuits that are longer than three hops + already, so we don't end up making circuits with 5 or more hops. Patch + contributed by wanoskarnet. Fixes bug 5231; bugfix on 0.1.0.1-rc which + introduced cannibalization. diff --git a/src/or/circuitlist.c b/src/or/circuitlist.c index 49a9b0541c..85f529194b 100644 --- a/src/or/circuitlist.c +++ b/src/or/circuitlist.c @@ -1086,6 +1086,7 @@ circuit_find_to_cannibalize(uint8_t purpose, extend_info_t *info, (!need_capacity || circ->build_state->need_capacity) && (internal == circ->build_state->is_internal) && circ->remaining_relay_early_cells && + circ->build_state->desired_path_len == DEFAULT_ROUTE_LEN && !circ->build_state->onehop_tunnel && !circ->isolation_values_set) { if (info) {