[or-cvs] r17639: {tor} Backport r17184: when building preemptive circuits, ignore s (in tor/branches/tor-0_2_0-patches: doc src/or)

nickm at seul.org nickm at seul.org
Wed Dec 17 13:14:48 UTC 2008


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))



More information about the tor-commits mailing list