diff options
author | Nick Mathewson <nickm@torproject.org> | 2018-12-05 09:44:12 -0500 |
---|---|---|
committer | Nick Mathewson <nickm@torproject.org> | 2018-12-05 09:44:12 -0500 |
commit | 54c3a5f09d9634b359344f8155dd973dafe0e86e (patch) | |
tree | decc81fac23f210623097299914ca5d7fc86dc6f /dir-spec.txt | |
parent | d14164d8b9d7bf53c63f4720d2361a18e2d45e0e (diff) | |
download | torspec-54c3a5f09d9634b359344f8155dd973dafe0e86e.tar.gz torspec-54c3a5f09d9634b359344f8155dd973dafe0e86e.zip |
Close and merge prop298
Diffstat (limited to 'dir-spec.txt')
-rw-r--r-- | dir-spec.txt | 31 |
1 files changed, 29 insertions, 2 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 |