On Fri, May 06, 2016 at 07:13:04PM +1000, Tim Wilson-Brown - teor wrote:
On 6 May 2016, at 09:34, Xiaofan Li xli2@andrew.cmu.edu wrote:
??? However, our real issue is when I restrict the path selection to 3 pre-determined nodes for all exit circuits, the client will not reach 100% anymore and keeps hanging at 85% (or 80% sometimes).
See Section 5.5 of control-spec.txt for what these bootstrap percentages mean: https://gitweb.torproject.org/torspec.git/tree/control-spec.txt#n2976
So for 85% or 80%, it looks like Tor is not connecting to, or not completing the handshake with, its guard relay.
Tim's guesses for what might be going wrong sound plausible. It sounds like your Tor client either doesn't have enough relays to choose from, or it doesn't have enough relays with the required properties.
Li: with respect to the name 'QuicTor', please see https://www.torproject.org/docs/trademark-faq#researchpapers and then https://www.torproject.org/docs/trademark-faq#combining That is, if you are planning to have a program that is like Tor but with different behavior, please think of a more original name than "QuicTor". Otherwise we'll be back in a situation like that guy who published "Advanced Tor" and didn't understand why we were worried that users would be confused. :)
(Normally, a client won't re-use any of its 3 guards as a middle or exit. TestingTorNetwork disables this behaviour.
Tim: I think this statement might be wrong? Tor picks its exit first, then picks a current guard that doesn't overlap with the exit, then picks a middle that doesn't overlap with either of them.
See e.g. choose_good_middle_server().
--Roger