Skip to content

A NetDir should not be "usable" until we have descriptors for all our primary guards

When we're bootstrapping, if we have a selection of guards, we should consider a NetDir unusable until we have descriptors for all of our primary guards.

  • Make sure that 'Data' guard usage requires that a relay be definitely available.
  • Add a function to ask, "Do all primary guards have a definite current Listed status". (Unknown listed corresponds to 'missing microdescriptor'
  • Don't replace primary guards when their listed status is unknown. (This may be tricky and might have to turn into another ticket.)
  • Tell the dirmgr not to replace a netdir until all primary guards have known listed status in the new candidate netdir.
Edited by Nick Mathewson