[tor-bugs] #18859 [Core Tor/Tor]: A new SOCKS connection should use a pre-built circuit for its first stream

Tor Bug Tracker & Wiki blackhole at torproject.org
Wed Dec 6 20:05:25 UTC 2017


#18859: A new SOCKS connection should use a pre-built circuit for its first stream
-------------------------------------------------+-------------------------
 Reporter:  arthuredelstein                      |          Owner:
                                                 |  arthuredelstein
     Type:  defect                               |         Status:
                                                 |  needs_review
 Priority:  Medium                               |      Milestone:  Tor:
                                                 |  0.3.2.x-final
Component:  Core Tor/Tor                         |        Version:
 Severity:  Normal                               |     Resolution:
 Keywords:  tbb-performance tor-client needs-    |  Actual Points:
  diagnosis needs-analysis performance review-   |
  group-27                                       |
Parent ID:                                       |         Points:
 Reviewer:  nickm                                |        Sponsor:
-------------------------------------------------+-------------------------

Comment (by nickm):

 Good detective work here figuring this one out!

 Two quick questions:

 1) How far do you think it makes sense to backport this?

 2) What if we allowed circuits with isolation flags set, so long as the
 isolation flags were compatible with the stream we wanted to attach?  In
 other words,
 {{{
 diff --git a/src/or/circuituse.c b/src/or/circuituse.c
 index aa0df95652246a..497d93923ee278 100644
 --- a/src/or/circuituse.c
 +++ b/src/or/circuituse.c
 @@ -1038,6 +1038,9 @@ circuit_stream_is_being_handled(entry_connection_t
 *conn,
          continue;
        if (origin_circ->unusable_for_new_conns)
          continue;
 +      if (origin_circ->isolation_values_set &&
 +          !connection_edge_compatible_with_circuit(conn, origin_circ))
 +        continue;

        exitnode = build_state_get_exit_node(build_state);
        if (exitnode && (!need_uptime || build_state->need_uptime)) {
 }}}

--
Ticket URL: <https://trac.torproject.org/projects/tor/ticket/18859#comment:19>
Tor Bug Tracker & Wiki <https://trac.torproject.org/>
The Tor Project: anonymity online


More information about the tor-bugs mailing list