[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