[Author Prev][Author Next][Thread Prev][Thread Next][Author Index][Thread Index]
[or-cvs] r17639: {tor} Backport r17184: when building preemptive circuits, ignore s (in tor/branches/tor-0_2_0-patches: doc src/or)
Author: nickm
Date: 2008-12-17 08:14:47 -0500 (Wed, 17 Dec 2008)
New Revision: 17639
Modified:
tor/branches/tor-0_2_0-patches/doc/TODO.020
tor/branches/tor-0_2_0-patches/src/or/circuitbuild.c
Log:
Backport r17184: when building preemptive circuits, ignore streams
that have a chosen exit node in mind already. otherwise we get
tricked into trying to build a new circuit that will handle them.
Modified: tor/branches/tor-0_2_0-patches/doc/TODO.020
===================================================================
--- tor/branches/tor-0_2_0-patches/doc/TODO.020 2008-12-17 13:14:43 UTC (rev 17638)
+++ tor/branches/tor-0_2_0-patches/doc/TODO.020 2008-12-17 13:14:47 UTC (rev 17639)
@@ -14,8 +14,8 @@
r17171 instead, to be even more resistant to poisoning.]
o r17091: distinguish "no routers support pending circuits" from
"no circuits are pending."
- - See also r17181...
- - ... and r17184.
+ o See also r17181...
+ o ... and r17184.
- r17137: send END cell in response to connect to nonexistent hidserv port.
- r17138: reject *:* servers should never do DNS lookups.
- r17139: Fix another case of overriding .exit choices.
Modified: tor/branches/tor-0_2_0-patches/src/or/circuitbuild.c
===================================================================
--- tor/branches/tor-0_2_0-patches/src/or/circuitbuild.c 2008-12-17 13:14:43 UTC (rev 17638)
+++ tor/branches/tor-0_2_0-patches/src/or/circuitbuild.c 2008-12-17 13:14:47 UTC (rev 17639)
@@ -1163,7 +1163,8 @@
conn->state == AP_CONN_STATE_CIRCUIT_WAIT &&
!conn->marked_for_close &&
!(TO_EDGE_CONN(conn)->want_onehop) && /* ignore one-hop streams */
- !(TO_EDGE_CONN(conn)->use_begindir) && /* ignore targetted dir fetches */
+ !(TO_EDGE_CONN(conn)->use_begindir) && /* ignore targeted dir fetches */
+ !(TO_EDGE_CONN(conn)->chosen_exit_name) && /* ignore defined streams */
!connection_edge_is_rendezvous_stream(TO_EDGE_CONN(conn)) &&
!circuit_stream_is_being_handled(TO_EDGE_CONN(conn), 0,
MIN_CIRCUITS_HANDLING_STREAM))