[tor-commits] [torspec/master] Close and merge prop298
nickm at torproject.org
nickm at torproject.org
Wed Dec 5 14:44:16 UTC 2018
commit 54c3a5f09d9634b359344f8155dd973dafe0e86e
Author: Nick Mathewson <nickm at torproject.org>
Date: Wed Dec 5 09:44:12 2018 -0500
Close and merge prop298
---
dir-spec.txt | 31 +++++++++++++++++++++++++++++--
proposals/000-index.txt | 4 ++--
proposals/298-canonical-families.txt | 3 ++-
3 files changed, 33 insertions(+), 5 deletions(-)
diff --git a/dir-spec.txt b/dir-spec.txt
index e9f201c..65f329d 100644
--- a/dir-spec.txt
+++ b/dir-spec.txt
@@ -1500,6 +1500,32 @@
The "family" element as specified in section 2.1.1.
+ When generating microdescriptors for consensus method 29 or later,
+ the following canonicalization algorithm is applied to improve
+ compression:
+
+ For all entries of the form $hexid=name or $hexid~name,
+ remove the =name or ~name portion.
+
+ Remove all entries of the form $hexid, where hexid is not
+ 40 hexadecimal characters long.
+
+ If an entry is a valid nickname, put it into lower case.
+
+ If an entry is a valid $hexid, put it into upper case.
+
+ If there are any entries, add a single $hexid entry for
+ the relay in question, so that it is a member of its own
+ family.
+
+ Sort all entries in lexical order.
+
+ Remove duplicate entries.
+
+ (Note that if an entry is not of the form "nickname", "$hexid",
+ "$hexid=nickname" or "$hexid~nickname", then it will be unchanged:
+ this is what makes the algorithm forward-compatible.)
+
"p" SP ("accept" / "reject") SP PortList NL
[Exactly once.]
@@ -1517,8 +1543,8 @@
[At most once]
- The IPv6 exit policy summary as specified in sections 3.4.1 and 3.8.2. A
- missing "p6" line is equivalent to "p6 reject 1-65535".
+ The IPv6 exit policy summary as specified in sections 3.4.1 and
+ 3.8.2. A missing "p6" line is equivalent to "p6 reject 1-65535".
(Only included when generating microdescriptors for
consensus-method 15 or later.)
@@ -2972,6 +2998,7 @@
"26" -- Initialize bandwidth weights to 1 to avoid division-by-zero.
"27" -- Adds support for "a" lines in microdescriptor consensues.
"28" -- Removes "a" lines from microdescriptors.
+ "29" -- Canonicalizes families in microdescriptors.
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 7960f95..9746434 100644
--- a/proposals/000-index.txt
+++ b/proposals/000-index.txt
@@ -218,7 +218,7 @@ Proposals by number:
295 Using ADL-GCM for relay cryptography (solving the crypto-tagging attack) [OPEN]
296 Have Directory Authorities expose raw bandwidth list files [OPEN]
297 Relaxing the protover-based shutdown rules [OPEN]
-298 Putting family lines in canonical form [OPEN]
+298 Putting family lines in canonical form [CLOSED]
Proposals by status:
@@ -250,7 +250,6 @@ Proposals by status:
295 Using ADL-GCM for relay cryptography (solving the crypto-tagging attack)
296 Have Directory Authorities expose raw bandwidth list files
297 Relaxing the protover-based shutdown rules [for 0.3.5.x]
- 298 Putting family lines in canonical form [for 0.3.6.x]
ACCEPTED:
188 Bridge Guards and other anti-enumeration defenses
249 Allow CREATE cells with >505 bytes of handshake data
@@ -356,6 +355,7 @@ Proposals by status:
283 Move IPv6 ORPorts from microdescriptors to the microdesc consensus [for 0.3.3.x] [in 0.3.3.1-alpha]
284 Hidden Service v3 Control Port
293 Other ways for relays to know when to publish [for 0.3.5] [in 0.4.0.1-alpha]
+ 298 Putting family lines in canonical form [for 0.3.6.x] [in 0.4.0.1-alpha]
SUPERSEDED:
112 Bring Back Pathlen Coin Weight
113 Simplifying directory authority administration
diff --git a/proposals/298-canonical-families.txt b/proposals/298-canonical-families.txt
index 938754d..a96ab8d 100644
--- a/proposals/298-canonical-families.txt
+++ b/proposals/298-canonical-families.txt
@@ -2,8 +2,9 @@ Filename: 298-canonical-families.txt
Title: Putting family lines in canonical form
Author: Nick Mathewson
Created: 31-Oct-2018
-Status: Open
+Status: Closed
Target: 0.3.6.x
+Implemented-In: 0.4.0.1-alpha
1. Introduction
More information about the tor-commits
mailing list