Implement proposal 315: "Updating the list of fields required in directory documents"

Proposal 315 describes a general policy for making once-optional fields in directory documents mandatory.

Here are the steps I mean to take to implement it:

  • Review all the fields in dir-spec.txt to see whether the list of fields to be made required in prop315 is in fact accurate
  • Review to see whether the list of fields is complete.
  • Verify that all (or nearly all) of the descriptors in today's network have all the required fields.
  • Mark each of the fields as required in src/features/dirparse. (Since there are no onion-service fields on the list, this can be done in one step.)
  • Simplify code in src/features/dirparse that treated these fields as optional.
  • Update unit tests to pass when these fields are required.
  • Update dir-spec.txt to mark the fields as required as of the version that first required them.
  • Mark hidden-service-dir as assumed-present.
Edited by Nick Mathewson