Be more willing to use an unsuitable circuit for exit.
commitef81649d2fc9246d6fec07402eafae689a39688a
authorRoger Dingledine <arma@torproject.org>
Sun, 20 Sep 2009 01:52:57 +0000 (19 21:52 -0400)
committerRoger Dingledine <arma@torproject.org>
Mon, 21 Dec 2009 08:52:32 +0000 (21 03:52 -0500)
tree60b618eafe82fcf178b70ab29c82061cdc704e40
parentc75a2eea60435dd078c6a8aaf20626162f7f8b27
Be more willing to use an unsuitable circuit for exit.

Specifically, there are two cases: a) are we willing to start a new
circuit at a node not in your ExitNodes config option, and b) are we
willing to make use of a circuit that's already established but has an
unsuitable exit.

Now we discard all your circuits when you set ExitNodes, so the only
way you could end up with an exit circuit that ends at an unsuitable
place is if we explicitly ran out of exit nodes, StrictNodes was 0,
and we built this circuit to solve a stream that needs solving.

Fixes bug in dc322931, which would ignore the just-built circuit because
it has an unsuitable exit.
src/or/circuitbuild.c
src/or/circuituse.c
src/or/config.c
src/or/connection_edge.c
src/or/or.h