From 27cc632d8f4d88215f3c57eacaee4d515b14cbc5 Mon Sep 17 00:00:00 2001 From: Nick Mathewson Date: Tue, 15 Aug 2023 10:19:16 -0400 Subject: Close prop-301, describing the new consensus method 34 in dir-spec See tor!743 for the implementation. --- dir-spec.txt | 12 ++++++++++-- proposals/000-index.txt | 4 ++-- proposals/301-dont-vote-on-package-fingerprints.txt | 2 +- proposals/BY_INDEX.md | 2 +- proposals/README.md | 2 +- 5 files changed, 15 insertions(+), 7 deletions(-) diff --git a/dir-spec.txt b/dir-spec.txt index d6b58cd..f133c39 100644 --- a/dir-spec.txt +++ b/dir-spec.txt @@ -2012,7 +2012,8 @@ Table of Contents more than once. If a vote contains the same "PACKAGENAME VERSION" more than once, all but the last is ignored. - Included in consensuses only for method 19 and later. + Included in consensuses only for methods 19-33. Earlier methods + did not include this; method 34 removed it. "known-flags" SP FlagList NL @@ -2824,7 +2825,7 @@ Table of Contents by more than half of the voting authorities that included a client-versions or server-versions lines in their votes. - With consensus method 19 or later, a package line is generated for a + With consensus methods 19 through 33, a package line is generated for a given PACKAGENAME/VERSION pair if at least three authorities list such a package in their votes. (Call these lines the "input" lines for PACKAGENAME.) The consensus will contain every "package" line that is @@ -3009,6 +3010,9 @@ Table of Contents flavor is "microdesc", then the "Publication" field in the "r" line is set to "2038-01-01 00:00:00". + * If consensus method 34 or later is used, the consensus + does not include any "package" lines. + The signatures at the end of a consensus document are sorted in ascending order by identity digest. @@ -3097,6 +3101,10 @@ Table of Contents "30" -- Removes padding from ntor-onion-key. "31" -- Uses correct parsing for bwweightscale and maxunmeasuredbw when computing weights + "32" -- Adds special handling for MiddleOnly flag. + "33" -- Sets "publication" field in microdesc consensus "r" lines + to a meaningless value. + "34" -- Removes "package" lines from consensus. Before generating a consensus, an authority must decide which consensus method to use. To do this, it looks for the highest version number diff --git a/proposals/000-index.txt b/proposals/000-index.txt index d385769..c251c90 100644 --- a/proposals/000-index.txt +++ b/proposals/000-index.txt @@ -221,7 +221,7 @@ Proposals by number: 298 Putting family lines in canonical form [CLOSED] 299 Preferring IPv4 or IPv6 based on IP Version Failure Count [SUPERSEDED] 300 Walking Onions: Scaling and Saving Bandwidth [INFORMATIONAL] -301 Don't include package fingerprints in consensus documents [ACCEPTED] +301 Don't include package fingerprints in consensus documents [CLOSED] 302 Hiding onion service clients using padding [CLOSED] 303 When and how to remove support for protocol versions [OPEN] 304 Extending SOCKS5 Onion Service Error Codes [CLOSED] @@ -308,7 +308,6 @@ Proposals by status: 282 Remove "Named" and "Unnamed" handling from consensus voting [for 0.3.3.x] 285 Directory documents should be standardized as UTF-8 292 Mesh-based vanguards - 301 Don't include package fingerprints in consensus documents 311 Tor Relay IPv6 Reachability 312 Tor Relay Automatic IPv6 Address Discovery 313 Tor Relay IPv6 Statistics @@ -423,6 +422,7 @@ Proposals by status: 296 Have Directory Authorities expose raw bandwidth list files [in 0.4.0.1-alpha] 297 Relaxing the protover-based shutdown rules [for 0.3.5.x] [in 0.4.0.x] 298 Putting family lines in canonical form [for 0.3.6.x] [in 0.4.0.1-alpha] + 301 Don't include package fingerprints in consensus documents 302 Hiding onion service clients using padding [in 0.4.1.1-alpha] 304 Extending SOCKS5 Onion Service Error Codes 305 ESTABLISH_INTRO Cell DoS Defense Extension diff --git a/proposals/301-dont-vote-on-package-fingerprints.txt b/proposals/301-dont-vote-on-package-fingerprints.txt index 125df86..cabf4f7 100644 --- a/proposals/301-dont-vote-on-package-fingerprints.txt +++ b/proposals/301-dont-vote-on-package-fingerprints.txt @@ -2,7 +2,7 @@ Filename: 301-dont-vote-on-package-fingerprints.txt Title: Don't include package fingerprints in consensus documents Author: Iain R. Learmonth Created: 2019-02-21 -Status: Accepted +Status: Closed Ticket: #28465 0. Abstract diff --git a/proposals/BY_INDEX.md b/proposals/BY_INDEX.md index dec95d4..16616be 100644 --- a/proposals/BY_INDEX.md +++ b/proposals/BY_INDEX.md @@ -218,7 +218,7 @@ Below are a list of proposals sorted by their proposal number. See * [`298-canonical-families.txt`](/proposals/298-canonical-families.txt): Putting family lines in canonical form [CLOSED] * [`299-ip-failure-count.txt`](/proposals/299-ip-failure-count.txt): Preferring IPv4 or IPv6 based on IP Version Failure Count [SUPERSEDED] * [`300-walking-onions.txt`](/proposals/300-walking-onions.txt): Walking Onions: Scaling and Saving Bandwidth [INFORMATIONAL] -* [`301-dont-vote-on-package-fingerprints.txt`](/proposals/301-dont-vote-on-package-fingerprints.txt): Don't include package fingerprints in consensus documents [ACCEPTED] +* [`301-dont-vote-on-package-fingerprints.txt`](/proposals/301-dont-vote-on-package-fingerprints.txt): Don't include package fingerprints in consensus documents [CLOSED] * [`302-padding-machines-for-onion-clients.txt`](/proposals/302-padding-machines-for-onion-clients.txt): Hiding onion service clients using padding [CLOSED] * [`303-protover-removal-policy.txt`](/proposals/303-protover-removal-policy.txt): When and how to remove support for protocol versions [OPEN] * [`304-socks5-extending-hs-error-codes.txt`](/proposals/304-socks5-extending-hs-error-codes.txt): Extending SOCKS5 Onion Service Error Codes [CLOSED] diff --git a/proposals/README.md b/proposals/README.md index 2c6831c..3c6ab14 100644 --- a/proposals/README.md +++ b/proposals/README.md @@ -50,7 +50,6 @@ implementation. * [`282-remove-named-from-consensus.txt`](/proposals/282-remove-named-from-consensus.txt): Remove "Named" and "Unnamed" handling from consensus voting * [`285-utf-8.txt`](/proposals/285-utf-8.txt): Directory documents should be standardized as UTF-8 * [`292-mesh-vanguards.txt`](/proposals/292-mesh-vanguards.txt): Mesh-based vanguards -* [`301-dont-vote-on-package-fingerprints.txt`](/proposals/301-dont-vote-on-package-fingerprints.txt): Don't include package fingerprints in consensus documents * [`311-relay-ipv6-reachability.txt`](/proposals/311-relay-ipv6-reachability.txt): Tor Relay IPv6 Reachability * [`312-relay-auto-ipv6-addr.txt`](/proposals/312-relay-auto-ipv6-addr.txt): Tor Relay Automatic IPv6 Address Discovery * [`313-relay-ipv6-stats.txt`](/proposals/313-relay-ipv6-stats.txt): Tor Relay IPv6 Statistics @@ -235,6 +234,7 @@ necessary. * [`296-expose-bandwidth-files.txt`](/proposals/296-expose-bandwidth-files.txt): Have Directory Authorities expose raw bandwidth list files * [`297-safer-protover-shutdowns.txt`](/proposals/297-safer-protover-shutdowns.txt): Relaxing the protover-based shutdown rules * [`298-canonical-families.txt`](/proposals/298-canonical-families.txt): Putting family lines in canonical form +* [`301-dont-vote-on-package-fingerprints.txt`](/proposals/301-dont-vote-on-package-fingerprints.txt): Don't include package fingerprints in consensus documents * [`302-padding-machines-for-onion-clients.txt`](/proposals/302-padding-machines-for-onion-clients.txt): Hiding onion service clients using padding * [`304-socks5-extending-hs-error-codes.txt`](/proposals/304-socks5-extending-hs-error-codes.txt): Extending SOCKS5 Onion Service Error Codes * [`305-establish-intro-dos-defense-extention.txt`](/proposals/305-establish-intro-dos-defense-extention.txt): ESTABLISH_INTRO Cell DoS Defense Extension -- cgit v1.2.3-54-g00ecf