GitLab is used only for code review, issue tracking and project management. Canonical locations for source code are still https://gitweb.torproject.org/ https://git.torproject.org/ and git-rw.torproject.org.

Commit fd58e74d authored by Nick Mathewson's avatar Nick Mathewson 🥄

Update required/recommended protocol lists more systematically

First I began with a set of candidates:

  The client's _required_ list starts with all the protocols
  supported by every release in 0.2.9-stable through current
  master.

  The client's _required_ list starts with all the protocols
  supported by every release in 0.3.5-stable through current
  master.

  Everybody's _recommended_ list starts with all the protocols
  supported by every release in 0.3.5-stable through current master.

Then I removed the protocol versions that we do not actually want to
require or recommend:

  DirCache=1 (deprecated)
  HSDir=1, HSIntro=1-3, HSRend=1 (deprecated)
  (All HS* protocol requirements for clients)
  Link=1-3 (deprecated)
  LinkAuth=1 (obsolete)
  Relay=1 (obsolete)
parent d872c692
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.
- Authorities now list a different set of protocols as required and
recommended. These lists are chosen so that only truly recommended
and/or required protocols are included, and so that clients using 0.2.9
or later will continue to work (even though they are not supported),
whereas only relays running 0.3.5 or later will meet the requirements.
Closes ticket 40162.
......@@ -238,30 +238,30 @@ STATIC microdesc_t *dirvote_create_microdescriptor(const routerinfo_t *ri,
/** The recommended relay protocols for this authority's votes.
* Recommending a new protocol causes old tor versions to log a warning.
*/
#define DIRVOTE_RECOMMEND_RELAY_PROTO \
"Cons=2 " \
"Desc=2 " \
"DirCache=1-2 " \
"HSDir=1 " \
"HSIntro=3 " \
"HSRend=1 " \
"Link=4 " \
"Microdesc=2 " \
#define DIRVOTE_RECOMMEND_RELAY_PROTO \
"Cons=2 " \
"Desc=2 " \
"DirCache=2 " \
"HSDir=2 " \
"HSIntro=4 " \
"HSRend=2 " \
"Link=4-5 " \
"LinkAuth=3 " \
"Microdesc=2 " \
"Relay=2"
/** The recommended client protocols for this authority's votes.
* Recommending a new protocol causes old tor versions to log a warning.
*/
#define DIRVOTE_RECOMMEND_CLIENT_PROTO \
"Cons=2 " \
"Desc=2 " \
"DirCache=2 " \
"HSDir=2 " \
"HSIntro=4 " \
"HSRend=2 " \
"Link=5 " \
"LinkAuth=3 " \
"Microdesc=1-2 " \
#define DIRVOTE_RECOMMEND_CLIENT_PROTO \
"Cons=2 " \
"Desc=2 " \
"DirCache=2 " \
"HSDir=2 " \
"HSIntro=4 " \
"HSRend=2 " \
"Link=4-5 " \
"Microdesc=2 " \
"Relay=2"
/** The required relay protocols for this authority's votes.
......@@ -272,28 +272,25 @@ STATIC microdesc_t *dirvote_create_microdescriptor(const routerinfo_t *ri,
#define DIRVOTE_REQUIRE_RELAY_PROTO \
"Cons=2 " \
"Desc=2 " \
"DirCache=1 " \
"HSDir=1 " \
"HSIntro=3 " \
"HSRend=1 " \
"Link=3-4 " \
"DirCache=2 " \
"HSDir=2 " \
"HSIntro=4 " \
"HSRend=2 " \
"Link=4-5 " \
"LinkAuth=3 " \
"Microdesc=2 " \
"Relay=1-2" \
"Relay=2"
/** The required relay protocols for this authority's votes.
* WARNING: Requiring a new protocol causes old tor versions to shut down.
* Requiring the wrong protocols can break the tor network.
* See Proposal 303: When and how to remove support for protocol versions.
*/
#define DIRVOTE_REQUIRE_CLIENT_PROTO \
"Cons=2 " \
"Desc=2 " \
"DirCache=1 " \
"HSDir=1 " \
"HSIntro=3 " \
"HSRend=1 " \
"Link=4 " \
"Microdesc=2 " \
#define DIRVOTE_REQUIRE_CLIENT_PROTO \
"Cons=2 " \
"Desc=2 " \
"Link=4 " \
"Microdesc=2 " \
"Relay=2"
#endif /* defined(DIRVOTE_PRIVATE) */
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment