[tor-bugs] #13814 [Tor]: Avoid building exit circuits unless we have a consensus that can build exit paths (was: Build HS IP and other internal needed circuits earlier, once we can build internal paths)

Tor Bug Tracker & Wiki blackhole at torproject.org
Sun Nov 30 21:37:05 UTC 2014


#13814: Avoid building exit circuits unless we have a consensus that can build exit
paths
-----------------------------+--------------------------------
     Reporter:  teor         |      Owner:
         Type:  enhancement  |     Status:  new
     Priority:  normal       |  Milestone:  Tor: 0.2.???
    Component:  Tor          |    Version:  Tor: 0.2.6.1-alpha
   Resolution:               |   Keywords:  lorax tor-relay
Actual Points:               |  Parent ID:  #13718
       Points:               |
-----------------------------+--------------------------------

Old description:

> Split from #13718:
>
> teor:
> > I also wonder about the impact of changing the invocation of
> circuit_build_needed_circs() so that it runs when we know we have
> internal circuits, rather than waiting for exit circuits.
> > Should we split it into internal and exit versions? If so, which types
> of circuits go in each category?
>
> nickm:
> That's an interesting question, but it sounds like a separate ticket.
> Generally, anything that is a predicted circuit, or anything that might
> carry user traffic, is an exit circuit. Anything else is an internal
> circuit.
>
> Notes:
>
> Exit Circuits:
> * Predicted Circuits
> * User Traffic Circuits
> * Others (TBC)
>
> Internal Circuits:
> * Hidden Service -> Introduction Point Circuits (TBC)
> * All Other Circuits
>
> The behaviour as of 2.6.0-alpha was to build all these circuits only when
> we had enough descriptors to build exit circuits. This is perhaps more
> conservative than required.

New description:

 Split from #13718:

 teor:
 > I also wonder about the impact of changing the invocation of
 circuit_build_needed_circs() so that it runs when we know we have internal
 circuits, rather than waiting for exit circuits.
 > Should we split it into internal and exit versions? If so, which types
 of circuits go in each category?

 nickm:
 That's an interesting question, but it sounds like a separate ticket.
 Generally, anything that is a predicted circuit, or anything that might
 carry user traffic, is an exit circuit. Anything else is an internal
 circuit.

 Notes:

 Exit Circuits:
 * Predicted Circuits
 * User Traffic Circuits
 * Others (TBC)

 Internal Circuits:
 * Hidden Service -> Introduction Point Circuits (TBC)
 * All Other Circuits

 The behaviour as of 2.6.0-alpha was to build all these circuits only when
 we had enough descriptors to build exit circuits. This is perhaps more
 conservative than required.

  arma in #13718:

 > So there's still value imo in waiting for circuit-building until we have
 all the network info that we need for a variety of actions. The bug here
 is that we have the wrong definition of "all the network info that we
 need" when the network has no exits. So we should be fixing that
 definition.

--

Comment (by teor):

 Modified based on arma's comment that we should build all circuits at the
 same time for security reasons. (So instead, if we can't build exit
 circuits with a given consensus, don't even try - it just causes lots of
 errors.)

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


More information about the tor-bugs mailing list