Starting in Tor 0.3.0, clients have additional constraints on what counts as a usable guard. Specifically, node_is_possible_guard() now demands node_is_dir(node) before it will consider node as a guard.
But the path position weights in the consensus are based on the Guard flag.
This inconsistency will lead to Guards that don't have the V2Dir flag being way underused, and Guards that do have the V2Dir flag being overused.
To upload designs, you'll need to enable LFS and have an admin enable hashed storage. More information
Child items ...
Show closed items
Linked items 0
Link issues together to show that they're related.
Learn more.
If we go this route, we might want to move the milestone up to e.g. Tor 0.3.1, so authorities will do the new behavior sooner, since Tor 0.3.0 clients are already doing their part of the problem.
I expect that updating the specs and documentation and so on will be a bit more involved.
Also, in a later Tor, we'll want to refactor so we calculate rs->is_v2_dir higher up, and then just use that value in the 'if'. Surely that refactoring won't break anything, but the above diff is still an easier sell.
Also also, once the authorities are doing this new behavior, we should consider teaching clients to assume that all Guards are automatically able to be directory mirrors, so we're not stuck dragging around a consensus flag albatross that doesn't even refer to the current version of the directory protocol. :)
These tickets were marked as removed, and nobody has said that they can fix them. Let's remember to look at 033-removed-20180320 as we re-evaluate our triage process, to see whether we're triaging out unnecessarily, and to evaluate whether we're deferring anything unnecessarily. But for now, we can't do these: we need to fix the 033-must stuff now.
Trac: Milestone: Tor: 0.3.3.x-final to Tor: unspecified