aboutsummaryrefslogtreecommitdiff
path: root/spec/dir-spec
diff options
context:
space:
mode:
authorNick Mathewson <nickm@torproject.org>2023-10-13 18:00:42 -0400
committerNick Mathewson <nickm@torproject.org>2023-10-13 18:00:42 -0400
commitf79272ef1f774b3788b74a3fe4fef75095dfae06 (patch)
tree8f47bebaa06c444f632bf8c4afbd793c4972a27d /spec/dir-spec
parentfa014ec90411fd754dd257d04afa1a953e15bf31 (diff)
downloadtorspec-f79272ef1f774b3788b74a3fe4fef75095dfae06.tar.gz
torspec-f79272ef1f774b3788b74a3fe4fef75095dfae06.zip
Run markdownlint --fix on spec.
Diffstat (limited to 'spec/dir-spec')
-rw-r--r--spec/dir-spec/accepting-server-descriptor-extra-info-document.md2
-rw-r--r--spec/dir-spec/assigning-flags-vote.md4
-rw-r--r--spec/dir-spec/client-operation.md17
-rw-r--r--spec/dir-spec/computing-microdescriptors.md2
-rw-r--r--spec/dir-spec/consensus-negotiation-timeline.md4
-rw-r--r--spec/dir-spec/converting-curve25519-public-key-to-ed25519-public.md2
-rw-r--r--spec/dir-spec/creating-key-certificates.md2
-rw-r--r--spec/dir-spec/directory-authority-operation-formats.md2
-rw-r--r--spec/dir-spec/directory-cache-operation.md12
-rw-r--r--spec/dir-spec/exchanging-votes.md2
-rw-r--r--spec/dir-spec/extra-info-document-format.md2
-rw-r--r--spec/dir-spec/general-use-http-urls.md2
-rw-r--r--spec/dir-spec/inferring-missing-proto-lines.md4
-rw-r--r--spec/dir-spec/limited-ed-diff-format.md2
-rw-r--r--spec/dir-spec/nonterminals-server-descriptors.md2
-rw-r--r--spec/dir-spec/outline.md10
-rw-r--r--spec/dir-spec/router-operation-formats.md2
-rw-r--r--spec/dir-spec/scope-preliminaries.md5
-rw-r--r--spec/dir-spec/server-descriptor-format.md2
-rw-r--r--spec/dir-spec/serving-bandwidth-list-files.md18
-rw-r--r--spec/dir-spec/standards-compliance.md4
-rw-r--r--spec/dir-spec/uploading-server-descriptors-extra-info-documents.md2
-rw-r--r--spec/dir-spec/vote-consensus-status-document-formats.md4
23 files changed, 74 insertions, 34 deletions
diff --git a/spec/dir-spec/accepting-server-descriptor-extra-info-document.md b/spec/dir-spec/accepting-server-descriptor-extra-info-document.md
index aa69ea9..b507b9c 100644
--- a/spec/dir-spec/accepting-server-descriptor-extra-info-document.md
+++ b/spec/dir-spec/accepting-server-descriptor-extra-info-document.md
@@ -1,4 +1,5 @@
<a id="dir-spec.txt-3.2"></a>
+
## Accepting server descriptor and extra-info document uploads
When a router posts a signed descriptor to a directory authority, the
@@ -49,4 +50,3 @@ the authority again checks it for well-formedness and correct signature,
and checks that its matches the extra-info-digest in some router
descriptor that it believes is currently useful. If so, it accepts it and
stores it and serves it as requested. If not, it drops it.
-
diff --git a/spec/dir-spec/assigning-flags-vote.md b/spec/dir-spec/assigning-flags-vote.md
index 309b025..84d024b 100644
--- a/spec/dir-spec/assigning-flags-vote.md
+++ b/spec/dir-spec/assigning-flags-vote.md
@@ -1,4 +1,5 @@
<a id="dir-spec.txt-3.4.2"></a>
+
### Assigning flags in a vote
(This section describes how directory authorities choose which status
@@ -131,7 +132,7 @@ published time on the descriptor is over 18 hours in the past. (This flag
was added in 0.4.0.1-alpha.)
"Sybil" -- authorities SHOULD NOT accept more than 2 relays on a single IP.
-If this happens, the authority *should* vote for the excess relays, but
+If this happens, the authority _should_ vote for the excess relays, but
should omit the Running or Valid flags and instead should assign the "Sybil"
flag. When there are more than 2 (or AuthDirMaxServersPerAddr) relays to
choose from, authorities should first prefer authorities to non-authorities,
@@ -169,4 +170,3 @@ accept not for all addresses, ignoring all rejects for private
netblocks. "Most" addresses are permitted if no more than 2^25
IPv4 addresses (two /8 networks) were blocked. The list is encoded
as described in section 3.8.2.
-
diff --git a/spec/dir-spec/client-operation.md b/spec/dir-spec/client-operation.md
index 41942c6..3f19a61 100644
--- a/spec/dir-spec/client-operation.md
+++ b/spec/dir-spec/client-operation.md
@@ -1,10 +1,12 @@
<a id="dir-spec.txt-5"></a>
+
# Client operation
Every Tor that is not a directory server (that is, those that do
not have a DirPort set) implements this section.
<a id="dir-spec.txt-5.1"></a>
+
## Downloading network-status documents
Each client maintains a list of directory authorities. Insofar as
@@ -87,6 +89,7 @@ most recent consensus it has if that consensus is "reasonably live". A
"reasonably live" consensus is one that expired less than 24 hours ago.
<a id="dir-spec.txt-5.2"></a>
+
## Downloading server descriptors or microdescriptors
Clients try to have the best descriptor for each router. A descriptor is
@@ -160,6 +163,7 @@ mentioned in any consensus for a week. Future clients might cache them
for longer or shorter times.
<a id="dir-spec.txt-5.3"></a>
+
## Downloading extra-info documents
Any client that uses extra-info documents should implement this
@@ -175,6 +179,7 @@ documents are missing. Clients try to download from caches.
We follow the same splitting and back-off rules as in section 5.2.
<a id="dir-spec.txt-5.4"></a>
+
## Using directory information
[XXX This subsection really belongs in path-spec.txt, not here. -KL]
@@ -185,7 +190,8 @@ to decide which relays to use and what their keys are likely to be.
above.)
<a id="dir-spec.txt-5.4.1"></a>
-### Choosing routers for circuits.
+
+### Choosing routers for circuits
Circuits SHOULD NOT be built until the client has enough directory
information: a live consensus network status [XXXX fallback?] and
@@ -214,22 +220,26 @@ These flags are used as follows:
```
<a id="dir-spec.txt-5.4.2"></a>
+
### Managing naming
(This section is removed; authorities no longer assign the 'Named' flag.)
<a id="dir-spec.txt-5.4.3"></a>
+
### Software versions
An implementation of Tor SHOULD warn when it has fetched a consensus
network-status, and it is running a software version not listed.
<a id="dir-spec.txt-5.4.4"></a>
-### Warning about a router's status.
+
+### Warning about a router's status
(This section is removed; authorities no longer assign the 'Named' flag.)
<a id="dir-spec.txt-5.5"></a>
+
## Retrying failed downloads
This section applies to caches as well as to clients.
@@ -240,7 +250,7 @@ time before retrying the download. To determine the amount of time
to wait, clients use a randomized exponential backoff algorithm.
(Specifically, they use a variation of the "decorrelated jitter"
algorithm from
-https://aws.amazon.com/blogs/architecture/exponential-backoff-and-jitter/ .)
+<https://aws.amazon.com/blogs/architecture/exponential-backoff-and-jitter/> .)
The specific formula used to compute the 'i+1'th delay is:
@@ -289,4 +299,3 @@ downloading from. Current base_delay values are:
Other objects, as client:
0 (TestingClientDownloadInitialDelay)
```
-
diff --git a/spec/dir-spec/computing-microdescriptors.md b/spec/dir-spec/computing-microdescriptors.md
index 29ddd48..1b88e42 100644
--- a/spec/dir-spec/computing-microdescriptors.md
+++ b/spec/dir-spec/computing-microdescriptors.md
@@ -1,4 +1,5 @@
<a id="dir-spec.txt-3.3"></a>
+
## Computing microdescriptors
Microdescriptors are a stripped-down version of server descriptors
@@ -166,4 +167,3 @@ their routers: they only learn a hash of the RSA identity key. This is
all they need to confirm the actual identity key when doing a TLS
handshake, and all they need to put the identity key digest in their
CREATE cells.)
-
diff --git a/spec/dir-spec/consensus-negotiation-timeline.md b/spec/dir-spec/consensus-negotiation-timeline.md
index 9e17724..59f9ced 100644
--- a/spec/dir-spec/consensus-negotiation-timeline.md
+++ b/spec/dir-spec/consensus-negotiation-timeline.md
@@ -1,5 +1,6 @@
<a id="dir-spec.txt-A"></a>
-# Consensus-negotiation timeline.
+
+# Consensus-negotiation timeline
```text
Period begins: this is the Published time.
@@ -13,4 +14,3 @@
Valid-after/valid-until switchover
```
-
diff --git a/spec/dir-spec/converting-curve25519-public-key-to-ed25519-public.md b/spec/dir-spec/converting-curve25519-public-key-to-ed25519-public.md
index 471fbdb..a676228 100644
--- a/spec/dir-spec/converting-curve25519-public-key-to-ed25519-public.md
+++ b/spec/dir-spec/converting-curve25519-public-key-to-ed25519-public.md
@@ -1,4 +1,5 @@
<a id="dir-spec.txt-C"></a>
+
# Converting a curve25519 public key to an ed25519 public key
Given an X25519 key, that is, an affine point (u,v) on the
@@ -74,4 +75,3 @@ Then, knowing the intended sign of the Edwards x-coordinate, one
may recover said x-coordinate by computing:
x = (u/v) * sqrt(-a - 2)
-
diff --git a/spec/dir-spec/creating-key-certificates.md b/spec/dir-spec/creating-key-certificates.md
index 4c25867..56b715b 100644
--- a/spec/dir-spec/creating-key-certificates.md
+++ b/spec/dir-spec/creating-key-certificates.md
@@ -1,4 +1,5 @@
<a id="dir-spec.txt-3.1"></a>
+
## Creating key certificates
Key certificates consist of the following items:
@@ -87,4 +88,3 @@ initial item "dir-key-certificate-version" and the final item
Authorities MUST generate a new signing key and corresponding
certificate before the key expires.
-
diff --git a/spec/dir-spec/directory-authority-operation-formats.md b/spec/dir-spec/directory-authority-operation-formats.md
index 9e171cf..bd487f6 100644
--- a/spec/dir-spec/directory-authority-operation-formats.md
+++ b/spec/dir-spec/directory-authority-operation-formats.md
@@ -1,4 +1,5 @@
<a id="dir-spec.txt-3"></a>
+
# Directory authority operation and formats
Every authority has two keys used in this protocol: a signing key, and
@@ -7,4 +8,3 @@ key used in their role as a router and by earlier versions of the
directory protocol.) The identity key is used from time to time to
sign new key certificates using new signing keys; it is very sensitive.
The signing key is used to sign key certificates and status documents.
-
diff --git a/spec/dir-spec/directory-cache-operation.md b/spec/dir-spec/directory-cache-operation.md
index ed14fc2..1aa3f4b 100644
--- a/spec/dir-spec/directory-cache-operation.md
+++ b/spec/dir-spec/directory-cache-operation.md
@@ -1,9 +1,11 @@
<a id="dir-spec.txt-4"></a>
+
# Directory cache operation
All directory caches implement this section, except as noted.
<a id="dir-spec.txt-4.1"></a>
+
## Downloading consensus status documents from directory authorities
All directory caches try to keep a recent
@@ -33,6 +35,7 @@ length. Caches serve all consensus flavors from the same locations as
the directory authorities.
<a id="dir-spec.txt-4.2"></a>
+
## Downloading server descriptors from directory authorities
Periodically (currently, every 10 seconds), directory caches check
@@ -57,6 +60,7 @@ descriptor seemed newest.)
[XXXX define recent]
<a id="dir-spec.txt-4.3"></a>
+
## Downloading microdescriptors from directory authorities
Directory mirrors should fetch, cache, and serve each microdescriptor
@@ -80,6 +84,7 @@ the fetch URL or the hashes from the consensus, respectively).
can be retrieved in a single request.)
<a id="dir-spec.txt-4.4"></a>
+
## Downloading extra-info documents from directory authorities
Any cache that chooses to cache extra-info documents should implement this
@@ -93,6 +98,7 @@ documents are missing. Caches download from authorities. We follow the
same splitting and back-off rules as in section 4.2.
<a id="dir-spec.txt-4.5"></a>
+
## Consensus diffs
Instead of downloading an entire consensus, clients may download
@@ -105,6 +111,7 @@ record of older consensuses.
advertised with the DirCache protocol version "2" or later.)
<a id="dir-spec.txt-4.5.1"></a>
+
### Consensus diff format
Consensus diffs are formatted as follows:
@@ -126,7 +133,8 @@ ToDigest in a limited subset of the ed diff format, as specified
in appendix E.
<a id="dir-spec.txt-4.5.2"></a>
-### Serving and requesting diffs.
+
+### Serving and requesting diffs
When downloading the current consensus, a client may include an
HTTP header of the form
@@ -153,7 +161,7 @@ FPRLIST is +-separated list of recognized authority identity
fingerprints as in appendix B.
<a id="dir-spec.txt-4.6"></a>
+
## Retrying failed downloads
See section 5.5 below; it applies to caches as well as clients.
-
diff --git a/spec/dir-spec/exchanging-votes.md b/spec/dir-spec/exchanging-votes.md
index 4bc6740..aac1d4b 100644
--- a/spec/dir-spec/exchanging-votes.md
+++ b/spec/dir-spec/exchanging-votes.md
@@ -1,4 +1,5 @@
<a id="dir-spec.txt-3.4"></a>
+
## Exchanging votes
Authorities divide time into Intervals. Authority administrators SHOULD
@@ -50,4 +51,3 @@ This may be the only way for an authority to hear about relays that didn't
publish their descriptor to all authorities, and, while it's too late
for the authority to include relays in its current vote, it can include
them in its next vote. See section 3.6 below for details.
-
diff --git a/spec/dir-spec/extra-info-document-format.md b/spec/dir-spec/extra-info-document-format.md
index 34df991..a821ecc 100644
--- a/spec/dir-spec/extra-info-document-format.md
+++ b/spec/dir-spec/extra-info-document-format.md
@@ -1,4 +1,5 @@
<a id="dir-spec.txt-2.1.2"></a>
+
### Extra-info document format
Extra-info documents consist of the following items:
@@ -588,4 +589,3 @@ detects fd exhaustion only when a socket open fails.
A document signature as documented in section 1.3, using the
initial item "extra-info" and the final item "router-signature",
signed with the router's identity key.
-
diff --git a/spec/dir-spec/general-use-http-urls.md b/spec/dir-spec/general-use-http-urls.md
index 9cd0a02..4d11372 100644
--- a/spec/dir-spec/general-use-http-urls.md
+++ b/spec/dir-spec/general-use-http-urls.md
@@ -1,4 +1,5 @@
<a id="dir-spec.txt-B"></a>
+
# General-use HTTP URLs
"Fingerprints" in these URLs are base16-encoded SHA1 hashes.
@@ -130,4 +131,3 @@ of the ".z" (see section 6.1).
Clients SHOULD use upper case letters (A-F) when base16-encoding
fingerprints. Servers MUST accept both upper and lower case fingerprints
in requests.
-
diff --git a/spec/dir-spec/inferring-missing-proto-lines.md b/spec/dir-spec/inferring-missing-proto-lines.md
index 0c0d530..7468a20 100644
--- a/spec/dir-spec/inferring-missing-proto-lines.md
+++ b/spec/dir-spec/inferring-missing-proto-lines.md
@@ -1,5 +1,6 @@
<a id="dir-spec.txt-D"></a>
-# Inferring missing proto lines.
+
+# Inferring missing proto lines
The directory authorities no longer allow versions of Tor before
0.2.4.18-rc. But right now, there is no version of Tor in the consensus
@@ -12,4 +13,3 @@ LinkAuth=1 Microdesc=1-2 Relay=1-2
For Desc, Microdesc and Cons, Tor versions before 0.2.7.stable should be
taken to only support version 1.
-
diff --git a/spec/dir-spec/limited-ed-diff-format.md b/spec/dir-spec/limited-ed-diff-format.md
index 35b5200..53fa334 100644
--- a/spec/dir-spec/limited-ed-diff-format.md
+++ b/spec/dir-spec/limited-ed-diff-format.md
@@ -1,4 +1,5 @@
<a id="dir-spec.txt-E"></a>
+
# Limited ed diff format
We support the following format for consensus diffs. It's a
@@ -36,4 +37,3 @@ appended to the diff after the line with the command. A line with
just a period (".") ends the block (and is not part of the lines
to add). Note that it is impossible to insert a line with just
a single dot.
-
diff --git a/spec/dir-spec/nonterminals-server-descriptors.md b/spec/dir-spec/nonterminals-server-descriptors.md
index 256f759..62298cb 100644
--- a/spec/dir-spec/nonterminals-server-descriptors.md
+++ b/spec/dir-spec/nonterminals-server-descriptors.md
@@ -1,4 +1,5 @@
<a id="dir-spec.txt-2.1.3"></a>
+
### Nonterminals in server descriptors
```text
@@ -29,4 +30,3 @@ ip6 ::= an IPv6 address, surrounded by square brackets.
num_ip6_bits ::= an integer between 0 and 128
bool ::= "0" | "1"
-
diff --git a/spec/dir-spec/outline.md b/spec/dir-spec/outline.md
index 0a5c81d..55deb49 100644
--- a/spec/dir-spec/outline.md
+++ b/spec/dir-spec/outline.md
@@ -1,4 +1,5 @@
<a id="dir-spec.txt-1"></a>
+
# Outline
There is a small set (say, around 5-10) of semi-trusted directory
@@ -44,6 +45,7 @@ clients by giving them descriptors nobody else uses.
All directory information is uploaded and downloaded with HTTP.
<a id="dir-spec.txt-1.1"></a>
+
## What's different from version 2?
Clients used to download multiple network status documents,
@@ -58,6 +60,7 @@ All of the information in extra-info documents used to be kept in the
main descriptors.
<a id="dir-spec.txt-1.2"></a>
+
## Document meta-format
Server descriptors, directories, and running-routers documents all obey the
@@ -81,7 +84,7 @@ More formally:
NL = The ascii LF character (hex value 0x0a).
Document ::= (Item | NL)+
Item ::= KeywordLine Object?
-KeywordLine ::= Keyword (WS Argument)* NL
+KeywordLine ::= Keyword (WS Argument)*NL
Keyword = KeywordStart KeywordChar*
KeywordStart ::= 'A' ... 'Z' | 'a' ... 'z' | '0' ... '9'
KeywordChar ::= KeywordStart | '-'
@@ -89,7 +92,7 @@ Argument := ArgumentChar+
ArgumentChar ::= any graphical printing ASCII character.
WS = (SP | TAB)+
Object ::= BeginLine Base64-encoded-data EndLine
-BeginLine ::= "-----BEGIN " Keyword (" " Keyword)* "-----" NL
+BeginLine ::= "-----BEGIN " Keyword (" " Keyword)*"-----" NL
EndLine ::= "-----END " Keyword (" " Keyword)* "-----" NL
A Keyword may not be "-----BEGIN".
@@ -156,6 +159,7 @@ Whenever an item DOES NOT allow extra arguments, we will tag it with
"no extra arguments".
<a id="dir-spec.txt-1.3"></a>
+
## Signing documents
Every signable document below is signed in a similar manner, using a
@@ -183,6 +187,7 @@ The "Digest" of a document, unless stated otherwise, is its digest *as
signed by this signature scheme*.
<a id="dir-spec.txt-1.4"></a>
+
## Voting timeline
Every consensus document has a "valid-after" (VA) time, a "fresh-until"
@@ -246,4 +251,3 @@ VU + 24 hours: Clients will no longer use the consensus at all.
VoteSeconds and DistSeconds MUST each be at least 20 seconds; FU-VA and
VU-FU MUST each be at least 5 minutes.
-
diff --git a/spec/dir-spec/router-operation-formats.md b/spec/dir-spec/router-operation-formats.md
index 7757a32..cec9a3c 100644
--- a/spec/dir-spec/router-operation-formats.md
+++ b/spec/dir-spec/router-operation-formats.md
@@ -1,3 +1,3 @@
<a id="dir-spec.txt-2"></a>
-# Router operation and formats
+# Router operation and formats
diff --git a/spec/dir-spec/scope-preliminaries.md b/spec/dir-spec/scope-preliminaries.md
index b513c6d..61d2ff7 100644
--- a/spec/dir-spec/scope-preliminaries.md
+++ b/spec/dir-spec/scope-preliminaries.md
@@ -1,4 +1,5 @@
<a id="dir-spec.txt-0"></a>
+
# Scope and preliminaries
This directory protocol is used by Tor version 0.2.0.x-alpha and later.
@@ -21,6 +22,7 @@ NOT", "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and
RFC 2119.
<a id="dir-spec.txt-0.1"></a>
+
## History
The earliest versions of Onion Routing shipped with a list of known
@@ -86,6 +88,7 @@ Routers began working harder to upload new descriptors only when their
contents were substantially changed.
<a id="dir-spec.txt-0.2"></a>
+
## Goals of the version 3 protocol
Version 3 of the Tor directory protocol tries to solve the following
@@ -116,6 +119,7 @@ issues:
```
<a id="dir-spec.txt-0.3"></a>
+
## Some Remaining questions
Things we could solve on a v3 timeframe:
@@ -136,4 +140,3 @@ Requiring every client to know about every router won't scale forever.
Requiring every directory cache to know every router won't scale
forever.
-
diff --git a/spec/dir-spec/server-descriptor-format.md b/spec/dir-spec/server-descriptor-format.md
index 9866076..97b7d09 100644
--- a/spec/dir-spec/server-descriptor-format.md
+++ b/spec/dir-spec/server-descriptor-format.md
@@ -1,4 +1,5 @@
<a id="dir-spec.txt-2.1.1"></a>
+
### Server descriptor format
Server descriptors consist of the following items.
@@ -505,4 +506,3 @@ larger than 63.
This field was first added in Tor 0.2.9.x.
[Before Tor 0.4.5.1-alpha, this field was optional.]
-
diff --git a/spec/dir-spec/serving-bandwidth-list-files.md b/spec/dir-spec/serving-bandwidth-list-files.md
index 531dc2b..1263e43 100644
--- a/spec/dir-spec/serving-bandwidth-list-files.md
+++ b/spec/dir-spec/serving-bandwidth-list-files.md
@@ -1,4 +1,5 @@
<a id="dir-spec.txt-3.4.3"></a>
+
### Serving bandwidth list files
If an authority has used a bandwidth list file to generate a vote
@@ -27,11 +28,13 @@ The standard URLs for bandwidth list files first-appeared in
Tor 0.4.0.4-alpha.
<a id="dir-spec.txt-3.5"></a>
+
## Downloading missing certificates from other directory authorities
XXX when to download certificates.
<a id="dir-spec.txt-3.6"></a>
+
## Downloading server descriptors from other directory authorities
Periodically (currently, every 10 seconds), directory authorities check
@@ -67,6 +70,7 @@ Authorities SHOULD NOT download descriptors for routers that they would
immediately reject for reasons listed in section 3.2.
<a id="dir-spec.txt-3.7"></a>
+
## Downloading extra-info documents from other directory authorities
Periodically, an authority checks whether it is missing any extra-info
@@ -77,6 +81,7 @@ documents are missing. We follow the same splitting and back-off rules
as in section 3.6.
<a id="dir-spec.txt-3.8"></a>
+
## Computing a consensus from a set of votes
Given a set of votes, authorities compute the contents of the consensus.
@@ -310,7 +315,8 @@ All ties in computing medians are broken in favor of the smaller or
earlier item.
<a id="dir-spec.txt-3.8.0.1"></a>
-#### Deciding which Ids to include.
+
+#### Deciding which Ids to include
This sorting algorithm is used for consensus-method 22 and later.
@@ -336,6 +342,7 @@ This sorting algorithm is used for consensus-method 22 and later.
```
<a id="dir-spec.txt-3.8.0.2"></a>
+
#### Deciding which descriptors to include
Deciding which descriptors to include.
@@ -354,6 +361,7 @@ that matches the largest set, breaking ties in favor of the most recently
published, and then in favor of the smaller server descriptor digest.
<a id="dir-spec.txt-3.8.1"></a>
+
### Forward compatibility
Future versions of Tor will need to include new information in the
@@ -428,6 +436,7 @@ NOT advertise support for them:
"21" -- Did not correctly enable support for ed25519 key collation.
<a id="dir-spec.txt-3.8.2"></a>
+
### Encoding port lists
Whether the summary shows the list of accepted ports or the list of
@@ -449,6 +458,7 @@ use an accept-style summary and list as much of the port list as is
possible within these 1000 bytes. [XXXX be more specific.]
<a id="dir-spec.txt-3.8.3"></a>
+
### Computing Bandwidth Weights
Let weight_scale = 10000, or the value of the "bwweightscale" parameter.
@@ -631,6 +641,7 @@ Handle bridges and strange exit policies:
Wgm=Wgg, Wem=Wee, Weg=Wed
<a id="dir-spec.txt-3.9"></a>
+
## Computing consensus flavors
Consensus flavors are variants of the consensus that clients can choose
@@ -672,6 +683,7 @@ is a string consisting of alphanumeric characters and dashes:
"network-status-version" SP version [SP flavor] NL
<a id="dir-spec.txt-3.9.1"></a>
+
### ns consensus
The ns consensus flavor is equivalent to the unflavored consensus.
@@ -681,6 +693,7 @@ state that the flavor is "ns" when generating consensuses, but should
accept consensuses where the flavor is omitted.
<a id="dir-spec.txt-3.9.2"></a>
+
### Microdescriptor consensus
The microdescriptor consensus is a consensus flavor that contains
@@ -752,6 +765,7 @@ Additionally, a microdescriptor consensus SHOULD use the sha256 digest
algorithm for its signatures.
<a id="dir-spec.txt-3.10"></a>
+
## Exchanging detached signatures
Once an authority has computed and signed a consensus network status, it
@@ -829,6 +843,7 @@ and only copied it from the proposals. Review carefully. -KL]
consensus document.]
<a id="dir-spec.txt-3.11"></a>
+
## Publishing the signed consensus
The voting period ends at the valid-after time. If the consensus has
@@ -867,4 +882,3 @@ locations
```
The standard URLs for bandwidth list files first-appeared in Tor 0.3.5.
-
diff --git a/spec/dir-spec/standards-compliance.md b/spec/dir-spec/standards-compliance.md
index f20125e..2d4e525 100644
--- a/spec/dir-spec/standards-compliance.md
+++ b/spec/dir-spec/standards-compliance.md
@@ -1,10 +1,12 @@
<a id="dir-spec.txt-6"></a>
+
# Standards compliance
All clients and servers MUST support HTTP 1.0. Clients and servers MAY
support later versions of HTTP as well.
<a id="dir-spec.txt-6.1"></a>
+
## HTTP headers
Servers SHOULD set Content-Encoding to the algorithm used to compress the
@@ -49,6 +51,7 @@ single network statuses, the list of all server descriptors, a v1
directory, or a v1 running routers document. XXX mention times.
<a id="dir-spec.txt-6.2"></a>
+
## HTTP status codes
Tor delivers the following status codes. Some were chosen without much
@@ -76,4 +79,3 @@ thought; other code SHOULD NOT rely on specific status codes yet.
-- user requested some items that we ordinarily generate or store,
but we do not have any available.
```
-
diff --git a/spec/dir-spec/uploading-server-descriptors-extra-info-documents.md b/spec/dir-spec/uploading-server-descriptors-extra-info-documents.md
index f58796e..d354068 100644
--- a/spec/dir-spec/uploading-server-descriptors-extra-info-documents.md
+++ b/spec/dir-spec/uploading-server-descriptors-extra-info-documents.md
@@ -1,4 +1,5 @@
<a id="dir-spec.txt-2.1"></a>
+
## Uploading server descriptors and extra-info documents
ORs SHOULD generate a new server descriptor and a new extra-info
@@ -40,4 +41,3 @@ http://<hostname:port>/tor/
Server descriptors may not exceed 20,000 bytes in length; extra-info
documents may not exceed 50,000 bytes in length. If they do, the
authorities SHOULD reject them.
-
diff --git a/spec/dir-spec/vote-consensus-status-document-formats.md b/spec/dir-spec/vote-consensus-status-document-formats.md
index 4ed6db6..379cd8f 100644
--- a/spec/dir-spec/vote-consensus-status-document-formats.md
+++ b/spec/dir-spec/vote-consensus-status-document-formats.md
@@ -1,4 +1,5 @@
<a id="dir-spec.txt-3.4.1"></a>
+
### Vote and consensus status document formats
Votes and consensuses are more strictly formatted than other documents
@@ -370,7 +371,7 @@ shared random protocol.
Version ::= An integer greater or equal to 0.
AlgName ::= 1*(ALPHA / DIGIT / "_" / "-")
-Identity ::= 40 * HEXDIG
+Identity ::= 40* HEXDIG
Commit ::= Base64-encoded-data
Reveal ::= Base64-encoded-data
@@ -703,4 +704,3 @@ types. Note that only one signature from each authority should be
(Tor clients before 0.2.3.x did not understand the 'algorithm'
field.)
-