Date: Sat, 18 Apr 2015 08:51:35 +0200 From: Peter Palfrader weasel@torproject.org
On Fri, 17 Apr 2015, Jacob Appelbaum wrote:
On 4/17/15, Ian Goldberg iang@cs.uwaterloo.ca wrote: Remember that the purpose is to help first-time clients, who have never used the Tor network before, fetch their very first consensus. To do that, they'll need addresses to contact bundled into the binary and/or distro without being able to look at a consensus first.
Disabling fallback directories in custom Tor networks (Trac #15642)
tor currently doesn't disable the list of fallback directories when the DirAuthorities or Alternate{Bridge,Dir}Authorities options are set.
This means that any fallback directories will still be used in test, private and custom Tor networks. This could mix descriptors from the public network in with private Tor network in certain circumstances (at the very least, when the private authorities are unreachable).
I suspect this is an undiscovered bug in the fallback directories feature. It hasn't really been an issue until now, as the list of fallback directories has been blank.
I am also concerned that this general area of the code lacks unit tests, which it might be wise to include before we effectively activate it for the first time.
I've created a git branch with a fix in the trac issue #15642 [0]. I've also included unit tests for the function I've modified as a commit in that branch.
But there's currently no coverage for the function that adds fallback directories. (In fact, I mock it in my unit tests, because I need it to do *something* so I know if it has been called or not.)
Loading from an Authority-Signed file of Fallback Directories
The function which loads fallback directories currently loads from a string array inside the function, so it would need to be modified to load from a signed file. I support the security benefits of signed fallback directories enough to write client code and unit tests for it, but I'm not sure how the code for the authorities would work - is the proposal to sign a section of the consensus, and output it as a separate file?
If so, we would either need to backport, and/or wait until a majority of the authorities update to tor versions with the feature. And perhaps a majority of clients as well, controlled by a consensus parameter? (Otherwise, using any entry in the file itself would allow clients to effectively be partitioned from the rest of the network by their behaviour.)
While I'm making a list, do we need to modify the existing proposal which describes fallback directories?
Is this change proposed for 0.2.7? Or all currently supported releases?
0: https://trac.torproject.org/projects/tor/ticket/15642#comment:8
teor
teor2345 at gmail dot com pgp 0xABFED1AC https://gist.github.com/teor2345/d033b8ce0a99adbc89c5
teor at blah dot im OTR C3C57B23 349825DE 929A1DEF C3531C25 A32287ED