[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