Update required/recommended protocol versions.

Cons=1 is the old format of consensuses, without ed25519 keys. It
  is no longer required or recommended.

  Cons=2 is the new format of consensuses, with ed25519 keys. It
  is now required.

  (Similarly for Desc=1,2 and Microdesc=1,2)

No supported client or relay versions should be affected by this
change, since these versions are supported by clients and relays
running 0.2.9 and later.  It will only take effect once enough
authorities vote for it.

Closes ticket 40162.
This commit is contained in:
Nick Mathewson 2020-10-18 16:09:25 -04:00
parent 4298d87756
commit d872c69255
2 changed files with 15 additions and 8 deletions

7
changes/ticket40162 Normal file
View File

@ -0,0 +1,7 @@
o Minor features (authorities):
- Authorities now list the directory formats used by currently supported
Tor releases as required. Previously, they listed only the formats
supported by older Tor releases as required. This change makes
the subprotocols "Cons=2 Desc=2 Microdesc=2" required, and makes
"Cons=1 Desc=1 Microdesc=1" no longer required or recommended.
Closes ticket 40162.

View File

@ -253,8 +253,8 @@ STATIC microdesc_t *dirvote_create_microdescriptor(const routerinfo_t *ri,
* Recommending a new protocol causes old tor versions to log a warning.
*/
#define DIRVOTE_RECOMMEND_CLIENT_PROTO \
"Cons=1-2 " \
"Desc=1-2 " \
"Cons=2 " \
"Desc=2 " \
"DirCache=2 " \
"HSDir=2 " \
"HSIntro=4 " \
@ -270,14 +270,14 @@ STATIC microdesc_t *dirvote_create_microdescriptor(const routerinfo_t *ri,
* See Proposal 303: When and how to remove support for protocol versions.
*/
#define DIRVOTE_REQUIRE_RELAY_PROTO \
"Cons=1 " \
"Desc=1 " \
"Cons=2 " \
"Desc=2 " \
"DirCache=1 " \
"HSDir=1 " \
"HSIntro=3 " \
"HSRend=1 " \
"Link=3-4 " \
"Microdesc=1 " \
"Microdesc=2 " \
"Relay=1-2" \
/** The required relay protocols for this authority's votes.
@ -286,14 +286,14 @@ STATIC microdesc_t *dirvote_create_microdescriptor(const routerinfo_t *ri,
* See Proposal 303: When and how to remove support for protocol versions.
*/
#define DIRVOTE_REQUIRE_CLIENT_PROTO \
"Cons=1-2 " \
"Desc=1-2 " \
"Cons=2 " \
"Desc=2 " \
"DirCache=1 " \
"HSDir=1 " \
"HSIntro=3 " \
"HSRend=1 " \
"Link=4 " \
"Microdesc=1-2 " \
"Microdesc=2 " \
"Relay=2"
#endif /* defined(DIRVOTE_PRIVATE) */