From ff8aba7053728d5b8f51152e10d73a7535e495a3 Mon Sep 17 00:00:00 2001 From: Roger Dingledine Date: Wed, 28 Sep 2011 15:35:27 -0400 Subject: [PATCH] bridges should use create_fast cells for their own circuits fixes bug 4124, as noticed in bug 4115 --- changes/bug4124 | 6 ++++++ src/or/circuitbuild.c | 5 +++-- 2 files changed, 9 insertions(+), 2 deletions(-) create mode 100644 changes/bug4124 diff --git a/changes/bug4124 b/changes/bug4124 new file mode 100644 index 0000000000..abe93ccdd8 --- /dev/null +++ b/changes/bug4124 @@ -0,0 +1,6 @@ + o Security fixes: + - Bridges relays now build circuits for themselves in a more similar + way to how clients build them. Removes another avenue for + enumerating bridges. Fixes bug 4124; bugfix on 0.2.0.3-alpha, + when bridges were introduced. + diff --git a/src/or/circuitbuild.c b/src/or/circuitbuild.c index 888023d8f1..c864fd2497 100644 --- a/src/or/circuitbuild.c +++ b/src/or/circuitbuild.c @@ -1961,9 +1961,10 @@ should_use_create_fast_for_circuit(origin_circuit_t *circ) return 1; /* our hand is forced: only a create_fast will work. */ if (!options->FastFirstHopPK) return 0; /* we prefer to avoid create_fast */ - if (server_mode(options)) { + if (public_server_mode(options)) { /* We're a server, and we know an onion key. We can choose. - * Prefer to blend in. */ + * Prefer to blend our circuit into the other circuits we are + * creating on behalf of others. */ return 0; }