aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorNick Mathewson <nickm@torproject.org>2011-04-03 18:20:19 -0400
committerNick Mathewson <nickm@torproject.org>2011-04-26 23:54:17 -0400
commit84f0e87c6a6629d047a39f658b7f7c96767219ca (patch)
treec027098808c69627a0dcff8f802042d01f6baee9
parentb59a289365169cca228566826f19838403320cb2 (diff)
downloadtor-84f0e87c6a6629d047a39f658b7f7c96767219ca.tar
tor-84f0e87c6a6629d047a39f658b7f7c96767219ca.tar.gz
If we have chosen an exit that shares a family with all bridges, fail the circuit
We could probably do something smarter here, but the situation is unusual enough that it's okay to just fail the circuit.
-rw-r--r--src/or/circuitbuild.c7
1 files changed, 5 insertions, 2 deletions
diff --git a/src/or/circuitbuild.c b/src/or/circuitbuild.c
index 4832cae69..c58509f90 100644
--- a/src/or/circuitbuild.c
+++ b/src/or/circuitbuild.c
@@ -4130,15 +4130,18 @@ choose_random_entry(cpath_build_state_t *state)
need_capacity = 0;
goto retry;
}
+#if 0
+ /* Removing this retry logic: if we only allow one exit, and it is in the
+ same family as all our entries, then we are just plain not going to win
+ here. */
if (!r && entry_list_is_constrained(options) && consider_exit_family) {
/* still no? if we're using bridges,
* and our chosen exit is in the same family as all our
* bridges, then be flexible about families. */
- /* XXXX022-1090 This is probably not what people want. Better to choose
- * a new exit. */
consider_exit_family = 0;
goto retry;
}
+#endif
/* live_entry_guards may be empty below. Oh well, we tried. */
}