aboutsummaryrefslogtreecommitdiff
path: root/spec/dir-spec
diff options
context:
space:
mode:
authorNick Mathewson <nickm@torproject.org>2023-10-14 14:07:40 -0400
committerNick Mathewson <nickm@torproject.org>2023-10-14 14:07:40 -0400
commit4ba45dfd9afd08edeb46243127a480f1d23b9640 (patch)
tree4dcdb3b4ac378b255d8292693ef234100bf67ac5 /spec/dir-spec
parentd4b9bcc71565e1c3b7b74ddfcd44730697c10c6b (diff)
downloadtorspec-4ba45dfd9afd08edeb46243127a480f1d23b9640.tar.gz
torspec-4ba45dfd9afd08edeb46243127a480f1d23b9640.zip
Run mdformat on the spec files.
Diffstat (limited to 'spec/dir-spec')
-rw-r--r--spec/dir-spec/assigning-flags-vote.md6
-rw-r--r--spec/dir-spec/client-operation.md8
-rw-r--r--spec/dir-spec/computing-microdescriptors.md32
-rw-r--r--spec/dir-spec/converting-curve25519-public-key-to-ed25519-public.md6
-rw-r--r--spec/dir-spec/creating-key-certificates.md22
-rw-r--r--spec/dir-spec/directory-cache-operation.md2
-rw-r--r--spec/dir-spec/extra-info-document-format.md12
-rw-r--r--spec/dir-spec/general-use-http-urls.md2
-rw-r--r--spec/dir-spec/nonterminals-server-descriptors.md4
-rw-r--r--spec/dir-spec/outline.md2
-rw-r--r--spec/dir-spec/server-descriptor-format.md106
-rw-r--r--spec/dir-spec/serving-bandwidth-list-files.md44
-rw-r--r--spec/dir-spec/vote-consensus-status-document-formats.md94
13 files changed, 170 insertions, 170 deletions
diff --git a/spec/dir-spec/assigning-flags-vote.md b/spec/dir-spec/assigning-flags-vote.md
index 84d024b..7b7a59e 100644
--- a/spec/dir-spec/assigning-flags-vote.md
+++ b/spec/dir-spec/assigning-flags-vote.md
@@ -63,12 +63,12 @@ through 0.1.1.16-rc are stupid this way.)
To calculate weighted MTBF, compute the weighted mean of the lengths
of all intervals when the router was observed to be up, weighting
-intervals by $\alpha^n$, where $n$ is the amount of time that has
-passed since the interval ended, and $\alpha$ is chosen so that
+intervals by $\\alpha^n$, where $n$ is the amount of time that has
+passed since the interval ended, and $\\alpha$ is chosen so that
measurements over approximately one month old no longer influence the
weighted MTBF much.
-[XXXX what happens when we have less than 4 days of MTBF info.]
+\[XXXX what happens when we have less than 4 days of MTBF info.\]
"Exit" -- A router is called an 'Exit' iff it allows exits to at
least one /8 address space on each of ports 80 and 443. (Up until
diff --git a/spec/dir-spec/client-operation.md b/spec/dir-spec/client-operation.md
index 3f19a61..42a5906 100644
--- a/spec/dir-spec/client-operation.md
+++ b/spec/dir-spec/client-operation.md
@@ -55,7 +55,7 @@ as indicated above. When bootstrap completes, Tor will be ready to handle
an application requesting an internal circuit to hidden services at
".onion" addresses.
-If a future consensus contains Exits, exit circuits may become available.]
+If a future consensus contains Exits, exit circuits may become available.\]
(Note: clients can and should pick caches based on the network-status
information they have: once they have first fetched network-status info
@@ -95,7 +95,7 @@ most recent consensus it has if that consensus is "reasonably live". A
Clients try to have the best descriptor for each router. A descriptor is
"best" if:
-* It is listed in the consensus network-status document.
+- It is listed in the consensus network-status document.
Periodically (currently every 10 seconds) clients check whether there are
any "downloadable" descriptors. A descriptor is downloadable if:
@@ -182,7 +182,7 @@ We follow the same splitting and back-off rules as in section 5.2.
## Using directory information
-[XXX This subsection really belongs in path-spec.txt, not here. -KL]
+\[XXX This subsection really belongs in path-spec.txt, not here. -KL\]
Everyone besides directory authorities uses the approaches in this section
to decide which relays to use and what their keys are likely to be.
@@ -194,7 +194,7 @@ above.)
### Choosing routers for circuits
Circuits SHOULD NOT be built until the client has enough directory
-information: a live consensus network status [XXXX fallback?] and
+information: a live consensus network status \[XXXX fallback?\] and
descriptors for at least 1/4 of the relays believed to be running.
A relay is "listed" if it is included by the consensus network-status
diff --git a/spec/dir-spec/computing-microdescriptors.md b/spec/dir-spec/computing-microdescriptors.md
index 1b88e42..5270ffa 100644
--- a/spec/dir-spec/computing-microdescriptors.md
+++ b/spec/dir-spec/computing-microdescriptors.md
@@ -26,8 +26,8 @@ same microdescriptor.
"onion-key" NL a public key in PEM format
-[Exactly once, at start]
-[No extra arguments]
+\[Exactly once, at start\]
+\[No extra arguments\]
The "onion-key" element as specified in section 2.1.1.
@@ -37,18 +37,18 @@ earlier, the trailing = sign must be present.
"ntor-onion-key" SP base-64-encoded-key NL
-[Exactly once]
+\[Exactly once\]
The "ntor-onion-key" element as specified in section 2.1.1.
(Only included when generating microdescriptors for
consensus-method 16 or later.)
-[Before Tor 0.4.5.1-alpha, this field was optional.]
+\[Before Tor 0.4.5.1-alpha, this field was optional.\]
"a" SP address ":" port NL
-[Any number]
+\[Any number\]
Additional advertised addresses for the OR.
@@ -64,7 +64,7 @@ consensus-methods 14 to 27.)
"family" names NL
-[At most once]
+\[At most once\]
The "family" element as specified in section 2.1.1.
@@ -98,20 +98,20 @@ this is what makes the algorithm forward-compatible.)
"p" SP ("accept" / "reject") SP PortList NL
-[Exactly once.]
+\[Exactly once.\]
The exit-policy summary as specified in sections 3.4.1 and 3.8.2.
-[With microdescriptors, clients don't learn exact exit policies:
+\[With microdescriptors, clients don't learn exact exit policies:
clients can only guess whether a relay accepts their request, try the
BEGIN request, and might get end-reason-exit-policy if they guessed
-wrong, in which case they'll have to try elsewhere.]
+wrong, in which case they'll have to try elsewhere.\]
-[In consensus methods before 5, this line was omitted.]
+\[In consensus methods before 5, this line was omitted.\]
"p6" SP ("accept" / "reject") SP PortList NL
-[At most once]
+\[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".
@@ -121,7 +121,7 @@ consensus-method 15 or later.)
"id" SP "rsa1024" SP base64-encoded-identity-digest NL
-[At most once]
+\[At most once\]
The node identity digest (as described in tor-spec.txt), base64
encoded, without trailing =s. This line is included to prevent
@@ -135,7 +135,7 @@ consensus-method 18 or later.)
"id" SP "ed25519" SP base64-encoded-ed25519-identity NL
-[At most once]
+\[At most once\]
The node's master Ed25519 identity key, base64 encoded,
without trailing =s.
@@ -149,18 +149,18 @@ consensus-method 21 or later.)
"id" SP keytype ... NL
-[At most once per distinct keytype.]
+\[At most once per distinct keytype.\]
Implementations MUST ignore "id" lines with unrecognized
key-types in place of "rsa1024" or "ed25519"
"pr" SP Entries NL
-[Exactly once.]
+\[Exactly once.\]
The "proto" element as specified in section 2.1.1.
-[Before Tor 0.4.5.1-alpha, this field was optional.]
+\[Before Tor 0.4.5.1-alpha, this field was optional.\]
(Note that with microdescriptors, clients do not learn the RSA identity of
their routers: they only learn a hash of the RSA identity key. This is
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 a676228..57f9d1d 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
@@ -45,8 +45,8 @@ To get the sign, the easiest way is to take the corresponding
private key, feed it to the ed25519 public key generation
algorithm, and see what the sign is.
-[Recomputing the sign bit from the private key every time sounds
-rather strange and inefficient to me… —isis]
+\[Recomputing the sign bit from the private key every time sounds
+rather strange and inefficient to me… —isis\]
Note that in addition to its coordinates, an expanded Ed25519 private key
also has a 32-byte random value, "prefix", used to compute internal `r`
@@ -55,7 +55,7 @@ derived deterministically from the curve25519 key. The Tor
implementation derives it as `SHA512(private_key | STR)[0..32]`, where
STR is the nul-terminated string:
-"Derive high part of ed25519 key from curve25519 key\0"
+"Derive high part of ed25519 key from curve25519 key\\0"
On the client side, where there is no access to the curve25519 private
keys, one may use the curve25519 public key's Montgomery u-coordinate to
diff --git a/spec/dir-spec/creating-key-certificates.md b/spec/dir-spec/creating-key-certificates.md
index 56b715b..ebe3e2f 100644
--- a/spec/dir-spec/creating-key-certificates.md
+++ b/spec/dir-spec/creating-key-certificates.md
@@ -6,7 +6,7 @@ Key certificates consist of the following items:
"dir-key-certificate-version" version NL
-[At start, exactly once.]
+\[At start, exactly once.\]
Determines the version of the key certificate. MUST be "3" for
the protocol described in this document. Implementations MUST
@@ -28,8 +28,8 @@ identity key.
"dir-identity-key" NL a public key in PEM format
-[Exactly once.]
-[No extra arguments]
+\[Exactly once.\]
+\[No extra arguments\]
The long-term authority identity key for this authority. This key
SHOULD be at least 2048 bits long; it MUST NOT be shorter than
@@ -37,7 +37,7 @@ SHOULD be at least 2048 bits long; it MUST NOT be shorter than
"dir-key-published" YYYY-MM-DD HH:MM:SS NL
-[Exactly once.]
+\[Exactly once.\]
The time (in UTC) when this document and corresponding key were
last generated.
@@ -47,7 +47,7 @@ too far in the future, though they MAY tolerate some clock skew.
"dir-key-expires" YYYY-MM-DD HH:MM:SS NL
-[Exactly once.]
+\[Exactly once.\]
A time (in UTC) after which this key is no longer valid.
@@ -56,16 +56,16 @@ MAY tolerate some clock skew.
"dir-signing-key" NL a key in PEM format
-[Exactly once.]
-[No extra arguments]
+\[Exactly once.\]
+\[No extra arguments\]
The directory server's public signing key. This key MUST be at
least 1024 bits, and MAY be longer.
"dir-key-crosscert" NL CrossSignature NL
-[Exactly once.]
-[No extra arguments]
+\[Exactly once.\]
+\[No extra arguments\]
CrossSignature is a signature, made using the certificate's signing
key, of the digest of the PKCS1-padded hash of the certificate's
@@ -79,8 +79,8 @@ of the hash of the identity key using the signing key.
"dir-key-certification" NL Signature NL
-[At end, exactly once.]
-[No extra arguments]
+\[At end, exactly once.\]
+\[No extra arguments\]
A document signature as documented in section 1.3, using the
initial item "dir-key-certificate-version" and the final item
diff --git a/spec/dir-spec/directory-cache-operation.md b/spec/dir-spec/directory-cache-operation.md
index 8b3bfce..9807857 100644
--- a/spec/dir-spec/directory-cache-operation.md
+++ b/spec/dir-spec/directory-cache-operation.md
@@ -57,7 +57,7 @@ caches SHOULD try to hold those which clients are likely to download the
most. (Currently, this is judged based on the interval for which each
descriptor seemed newest.)
-[XXXX define recent]
+\[XXXX define recent\]
<a id="dir-spec.txt-4.3"></a>
diff --git a/spec/dir-spec/extra-info-document-format.md b/spec/dir-spec/extra-info-document-format.md
index 1c7dffe..24d6a03 100644
--- a/spec/dir-spec/extra-info-document-format.md
+++ b/spec/dir-spec/extra-info-document-format.md
@@ -98,7 +98,7 @@ the old ones, the new keywords have been introduced.
YYYY-MM-DD HH:MM:SS defines the end of the included measurement
interval of length NSEC seconds (86400 seconds by default).
-A "bridge-stats-end" line, as well as any other "bridge-*" line,
+A "bridge-stats-end" line, as well as any other "bridge-\*" line,
is only added when the relay has been running as a bridge for at
least 24 hours.
@@ -152,7 +152,7 @@ If no clients have connected to the bridge yet, we only write
YYYY-MM-DD HH:MM:SS defines the end of the included measurement
interval of length NSEC seconds (86400 seconds by default).
-A "dirreq-stats-end" line, as well as any other "dirreq-*" line,
+A "dirreq-stats-end" line, as well as any other "dirreq-\*" line,
is only added when the relay has opened its Dir port and after 24
hours of measuring directory requests.
@@ -287,7 +287,7 @@ recent intervals, ordered from oldest to newest.
YYYY-MM-DD HH:MM:SS defines the end of the included measurement
interval of length NSEC seconds (86400 seconds by default).
-An "entry-stats-end" line, as well as any other "entry-*"
+An "entry-stats-end" line, as well as any other "entry-\*"
line, is first added after the relay has been running for at least
24 hours.
@@ -309,7 +309,7 @@ nearest multiple of 8.
YYYY-MM-DD HH:MM:SS defines the end of the included measurement
interval of length NSEC seconds (86400 seconds by default).
-A "cell-stats-end" line, as well as any other "cell-*" line,
+A "cell-stats-end" line, as well as any other "cell-\*" line,
is first added after the relay has been running for at least 24
hours.
@@ -393,7 +393,7 @@ bi-directionally. See "conn-bi-direct" for more details.
YYYY-MM-DD HH:MM:SS defines the end of the included measurement
interval of length NSEC seconds (86400 seconds by default).
-An "exit-stats-end" line, as well as any other "exit-*" line, is
+An "exit-stats-end" line, as well as any other "exit-\*" line, is
first added after the relay has been running for at least 24 hours
and only if the relay permits exiting (where exiting to a single
port and IP address is sufficient).
@@ -431,7 +431,7 @@ streams under port "other".
YYYY-MM-DD HH:MM:SS defines the end of the included measurement
interval of length NSEC seconds (86400 seconds by default).
-A "hidserv-stats-end" line, as well as any other "hidserv-*" line,
+A "hidserv-stats-end" line, as well as any other "hidserv-\*" line,
is first added after the relay has been running for at least 24
hours.
diff --git a/spec/dir-spec/general-use-http-urls.md b/spec/dir-spec/general-use-http-urls.md
index 4d11372..98ea7a5 100644
--- a/spec/dir-spec/general-use-http-urls.md
+++ b/spec/dir-spec/general-use-http-urls.md
@@ -61,7 +61,7 @@ key fingerprint is `<S>` should be available at:
`http://<hostname>/tor/keys/fp-sk/<F1>-<S1>+<F2>-<S2>.z` )
-[The above fp-sk format was not supported before Tor 0.2.1.9-alpha.]
+\[The above fp-sk format was not supported before Tor 0.2.1.9-alpha.\]
The most recent descriptor for a server whose identity key has a
fingerprint of `<F>` should be available at:
diff --git a/spec/dir-spec/nonterminals-server-descriptors.md b/spec/dir-spec/nonterminals-server-descriptors.md
index 62298cb..4991e9e 100644
--- a/spec/dir-spec/nonterminals-server-descriptors.md
+++ b/spec/dir-spec/nonterminals-server-descriptors.md
@@ -11,7 +11,7 @@
```
exitpattern ::= addrspec ":" portspec
-portspec ::= "*" | port | port "-" port
+portspec ::= "\*" | port | port "-" port
port ::= an integer between 1 and 65535, inclusive.
```text
@@ -20,7 +20,7 @@ port ::= an integer between 1 and 65535, inclusive.
Connections to port 0 are never permitted.]
```
-addrspec ::= "*" | ip4spec | ip6spec
+addrspec ::= "\*" | ip4spec | ip6spec
ipv4spec ::= ip4 | ip4 "/" num_ip4_bits | ip4 "/" ip4mask
ip4 ::= an IPv4 address in dotted-quad format
ip4mask ::= an IPv4 mask in dotted-quad format
diff --git a/spec/dir-spec/outline.md b/spec/dir-spec/outline.md
index faa848a..e183e33 100644
--- a/spec/dir-spec/outline.md
+++ b/spec/dir-spec/outline.md
@@ -70,7 +70,7 @@ The highest level object is a Document, which consists of one or more
Items. Every Item begins with a KeywordLine, followed by zero or more
Objects. A KeywordLine begins with a Keyword, optionally followed by
whitespace and more non-newline characters, and ends with a newline. A
-Keyword is a sequence of one or more characters in the set [A-Za-z0-9-],
+Keyword is a sequence of one or more characters in the set \[A-Za-z0-9-\],
but may not start with -.
An Object is a block of encoded data in pseudo-Privacy-Enhanced-Mail (PEM)
style format: that is, lines of encoded data MAY be wrapped by inserting
diff --git a/spec/dir-spec/server-descriptor-format.md b/spec/dir-spec/server-descriptor-format.md
index 97b7d09..49820fc 100644
--- a/spec/dir-spec/server-descriptor-format.md
+++ b/spec/dir-spec/server-descriptor-format.md
@@ -16,7 +16,7 @@ such blank lines.
"router" nickname address ORPort SOCKSPort DirPort NL
-[At start, exactly once.]
+\[At start, exactly once.\]
Indicates the beginning of a server descriptor. "nickname" must be a
valid router nickname as specified in section 2.1.3. "address" must
@@ -36,33 +36,33 @@ authorities MAY reject any descriptor with both DirPort and ORPort of
"-----END ED25519 CERT-----" NL
```
-[Exactly once, in second position in document.]
-[No extra arguments]
+\[Exactly once, in second position in document.\]
+\[No extra arguments\]
The certificate is a base64-encoded Ed25519 certificate (see
cert-spec.txt) with terminating =s removed. When this element
is present, it MUST appear as the first or second element in
the router descriptor.
-The certificate has CERT_TYPE of [04]. It must include a
+The certificate has CERT_TYPE of \[04\]. It must include a
signed-with-ed25519-key extension (see cert-spec.txt,
section 2.2.1), so that we can extract the master identity key.
-[Before Tor 0.4.5.1-alpha, this field was optional.]
+\[Before Tor 0.4.5.1-alpha, this field was optional.\]
"master-key-ed25519" SP MasterKey NL
-[Exactly once]
+\[Exactly once\]
Contains the base-64 encoded ed25519 master key as a single
argument. If it is present, it MUST match the identity key
in the identity-ed25519 entry.
-[Before Tor 0.4.5.1-alpha, this field was optional.]
+\[Before Tor 0.4.5.1-alpha, this field was optional.\]
"bandwidth" bandwidth-avg bandwidth-burst bandwidth-observed NL
-[Exactly once]
+\[Exactly once\]
Estimated bandwidth for this router, in bytes per second. The
"average" bandwidth is the volume per second that the OR is willing to
@@ -78,7 +78,7 @@ day. These versions are no longer supported or recommended.
"platform" string NL
-[At most once]
+\[At most once\]
A human-readable string describing the system on which this OR is
running. This MAY include the operating system, and SHOULD include
@@ -86,14 +86,14 @@ the name and version of the software implementing the Tor protocol.
"published" YYYY-MM-DD HH:MM:SS NL
-[Exactly once]
+\[Exactly once\]
The time, in UTC, when this descriptor (and its corresponding
extra-info document if any) was generated.
"fingerprint" fingerprint NL
-[At most once]
+\[At most once\]
A fingerprint (a HASH_LEN-byte of asn1 encoded public key, encoded in
hex, with a single space after every 4 characters) for this router's
@@ -125,8 +125,8 @@ descriptor was published, and shouldn't be used to build circuits.
"onion-key" NL a public key in PEM format
```
-[Exactly once]
-[No extra arguments]
+\[Exactly once\]
+\[No extra arguments\]
This key is used to encrypt CREATE cells for this OR. The key MUST be
accepted for at least 1 week after any new key is published in a
@@ -138,8 +138,8 @@ KEY-----" and "-----END RSA PUBLIC KEY-----".
"onion-key-crosscert" NL a RSA signature in PEM format.
-[Exactly once]
-[No extra arguments]
+\[Exactly once\]
+\[No extra arguments\]
This element contains an RSA signature, generated using the
onion-key, of the following:
@@ -162,12 +162,12 @@ This signature proves that the party creating the descriptor
had control over the secret key corresponding to the
onion-key.
-[Before Tor 0.4.5.1-alpha, this field was optional whenever
-identity-ed25519 was absent.]
+\[Before Tor 0.4.5.1-alpha, this field was optional whenever
+identity-ed25519 was absent.\]
"ntor-onion-key" base-64-encoded-key
-[Exactly once]
+\[Exactly once\]
A curve25519 public key used for the ntor circuit extended
handshake. It's the standard encoding of the OR's curve25519
@@ -176,7 +176,7 @@ omitted from the base64 encoding. The key MUST be accepted
for at least 1 week after any new key is published in a
subsequent descriptor.
-[Before Tor 0.4.5.1-alpha, this field was optional.]
+\[Before Tor 0.4.5.1-alpha, this field was optional.\]
```text
"ntor-onion-key-crosscert" SP Bit NL
@@ -184,12 +184,12 @@ subsequent descriptor.
"-----END ED25519 CERT-----" NL
```
-[Exactly once]
-[No extra arguments]
+\[Exactly once\]
+\[No extra arguments\]
A signature created with the ntor-onion-key, using the
certificate format documented in cert-spec.txt, with type
-[0a]. The signed key here is the master identity key.
+\[0a\]. The signed key here is the master identity key.
Bit must be "0" or "1". It indicates the sign of the ed25519
public key corresponding to the ntor onion key. If Bit is "0",
@@ -204,13 +204,13 @@ This signature proves that the party creating the descriptor
had control over the secret key corresponding to the
ntor-onion-key.
-[Before Tor 0.4.5.1-alpha, this field was optional whenever
-identity-ed25519 was absent.]
+\[Before Tor 0.4.5.1-alpha, this field was optional whenever
+identity-ed25519 was absent.\]
"signing-key" NL a public key in PEM format
-[Exactly once]
-[No extra arguments]
+\[Exactly once\]
+\[No extra arguments\]
The OR's long-term RSA identity key. It MUST be 1024 bits.
@@ -219,7 +219,7 @@ The encoding is as for "onion-key" above.
"accept" exitpattern NL
"reject" exitpattern NL
-[Any number]
+\[Any number\]
These lines describe an "exit policy": the rules that an OR follows
when deciding whether to allow a new stream to a given address. The
@@ -230,7 +230,7 @@ be accept *:* or reject *:*.
"ipv6-policy" SP ("accept" / "reject") SP PortList NL
-[At most once.]
+\[At most once.\]
An exit-policy summary as specified in sections 3.4.1 and 3.8.2,
summarizing
@@ -240,7 +240,7 @@ the router's rules for connecting to IPv6 addresses. A missing
"overload-general" SP version SP YYYY-MM-DD HH:MM:SS NL
-[At most once.]
+\[At most once.\]
Indicates that a relay has reached an "overloaded state" which can be
one or many of the following load metrics:
@@ -286,13 +286,13 @@ The signature is encoded in Base64, with terminating =s removed.
The signing key in the identity-ed25519 certificate MUST
be the one used to sign the document.
-[Before Tor 0.4.5.1-alpha, this field was optional whenever
-identity-ed25519 was absent.]
+\[Before Tor 0.4.5.1-alpha, this field was optional whenever
+identity-ed25519 was absent.\]
"router-signature" NL Signature NL
-[At end, exactly once]
-[No extra arguments]
+\[At end, exactly once\]
+\[No extra arguments\]
The "SIGNATURE" object contains a signature of the PKCS1-padded
hash of the entire server descriptor, taken from the beginning of the
@@ -302,14 +302,14 @@ with the router's identity key.
"contact" info NL
-[At most once]
+\[At most once\]
Describes a way to contact the relay's administrator, preferably
including an email address and a PGP key fingerprint.
"bridge-distribution-request" SP Method NL
-[At most once, bridges only.]
+\[At most once, bridges only.\]
The "Method" describes how a Bridge address is distributed by
BridgeDB. Recognized methods are: "none", "any", "https", "email",
@@ -338,12 +338,12 @@ BridgeDB SHOULD treat unrecognized Method values as if they were
(Default: "any")
-[This line was introduced in 0.3.2.3-alpha, with a minimal backport
-to 0.2.5.16, 0.2.8.17, 0.2.9.14, 0.3.0.13, 0.3.1.9, and later.]
+\[This line was introduced in 0.3.2.3-alpha, with a minimal backport
+to 0.2.5.16, 0.2.8.17, 0.2.9.14, 0.3.0.13, 0.3.1.9, and later.\]
"family" names NL
-[At most once]
+\[At most once\]
'Names' is a space-separated list of relay nicknames or
hexdigests. If two ORs list one another in their "family" entries,
@@ -366,7 +366,7 @@ appeared in extra-info descriptors since 0.2.0.x.)
"eventdns" bool NL
-[At most once]
+\[At most once\]
Declare whether this version of Tor is using the newer enhanced
dns logic. Versions of Tor with this field set to false SHOULD NOT
@@ -379,17 +379,17 @@ be used for reverse hostname lookups.
"caches-extra-info" NL
```
-[At most once.]
-[No extra arguments]
+\[At most once.\]
+\[No extra arguments\]
Present only if this router is a directory cache that provides
extra-info documents.
-[Versions before 0.2.0.1-alpha don't recognize this]
+\[Versions before 0.2.0.1-alpha don't recognize this\]
-"extra-info-digest" SP sha1-digest [SP sha256-digest] NL
+"extra-info-digest" SP sha1-digest \[SP sha256-digest\] NL
-[At most once]
+\[At most once\]
"sha1-digest" is a hex-encoded SHA1 digest (using upper-case characters)
of the router's extra-info document, as signed in the router's
@@ -405,12 +405,12 @@ to roll out an incremental fix for, not a design choice. Future digest
algorithms specified should not include the signature in the data used
to compute the digest.
-[Versions before 0.2.7.2-alpha did not include a SHA256 digest.]
-[Versions before 0.2.0.1-alpha don't recognize this field at all.]
+\[Versions before 0.2.7.2-alpha did not include a SHA256 digest.\]
+\[Versions before 0.2.0.1-alpha don't recognize this field at all.\]
"hidden-service-dir" NL
-[At most once.]
+\[At most once.\]
Present only if this router stores and serves hidden service
descriptors. This router supports the descriptor versions declared
@@ -431,8 +431,8 @@ parse this line.
"allow-single-hop-exits" NL
-[At most once.]
-[No extra arguments]
+\[At most once.\]
+\[No extra arguments\]
Present only if the router allows single-hop circuits to make exit
connections. Most Tor relays do not support this: this is
@@ -441,7 +441,7 @@ access and such. This is obsolete in tor version >= 0.3.1.0-alpha.
"or-address" SP ADDRESS ":" PORT NL
-[Any number]
+\[Any number\]
ADDRESS = IP6ADDR | IP4ADDR
IPV6ADDR = an ipv6 address, surrounded by square brackets.
@@ -465,8 +465,8 @@ Tor 0.2.3.x only the first address/port pair is advertised and used.
"tunnelled-dir-server" NL
-[At most once.]
-[No extra arguments]
+\[At most once.\]
+\[No extra arguments\]
```text
Present if the router accepts "tunneled" directory requests using a
@@ -505,4 +505,4 @@ 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.]
+\[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 2dd5ff4..6b0296b 100644
--- a/spec/dir-spec/serving-bandwidth-list-files.md
+++ b/spec/dir-spec/serving-bandwidth-list-files.md
@@ -43,8 +43,8 @@ they are not currently trying to download.
Authorities identify them by hash in vote (if publication date is more
recent than the descriptor we currently have).
-[XXXX need a way to fetch descriptors ahead of the vote? v2 status docs can
-do that for now.]
+\[XXXX need a way to fetch descriptors ahead of the vote? v2 status docs can
+do that for now.\]
If so, the directory authority launches requests to the authorities for these
descriptors, such that each authority is only asked for descriptors listed
@@ -455,7 +455,7 @@ Port lists are sorted in ascending order.
The maximum allowed length of a policy summary (including the "accept "
or "reject ") is 1000 characters. If a summary exceeds that length we
use an accept-style summary and list as much of the port list as is
-possible within these 1000 bytes. [XXXX be more specific.]
+possible within these 1000 bytes. \[XXXX be more specific.\]
<a id="dir-spec.txt-3.8.3"></a>
@@ -526,7 +526,7 @@ Wed == 1/3.
Let R denote the more scarce class (Rare) between Guard vs Exit.
Let S denote the less scarce class.
-Subcase a: R+D < S
+Subcase a: R+D \< S
In this subcase, we simply devote all of D bandwidth to the
scarce class.
@@ -544,15 +544,15 @@ scarce class.
Subcase b: R+D >= S
```
-In this case, if M <= T/3, we have enough bandwidth to try to achieve
+In this case, if M \<= T/3, we have enough bandwidth to try to achieve
a balancing condition.
Add constraints Wgg = weight_scale, Wmd == Wgd to maximize bandwidth in
the guard position while still allowing exits to be used as middle nodes:
-Wee = (weight_scale*(E - G + M))/E
-Wed = (weight_scale*(D - 2*E + 4*G - 2*M))/(3*D)
-Wme = (weight_scale*(G-M))/E
+Wee = (weight_scale\*(E - G + M))/E
+Wed = (weight_scale\*(D - 2*E + 4*G - 2*M))/(3*D)
+Wme = (weight_scale\*(G-M))/E
Wmg = 0
Wgg = weight_scale
Wmd = (weight_scale - Wed)/2
@@ -680,7 +680,7 @@ All consensus flavors have in common that their first line is
"network-status-version" where version is 3 or higher, and the flavor
is a string consisting of alphanumeric characters and dashes:
-"network-status-version" SP version [SP flavor] NL
+"network-status-version" SP version \[SP flavor\] NL
<a id="dir-spec.txt-3.9.1"></a>
@@ -709,7 +709,7 @@ the exceptions as follows:
"network-status-version" SP version SP "microdesc" NL
-[At start, exactly once.]
+\[At start, exactly once.\]
The flavor name of a microdescriptor consensus is "microdesc".
@@ -736,7 +736,7 @@ later.)
"p" ... NL
-[At most once]
+\[At most once\]
Not currently generated.
@@ -745,7 +745,7 @@ therefore omitted in the microdescriptor consensus.
"m" SP digest NL
-[Exactly once.*]
+\[Exactly once.\*\]
"digest" is the base64 of the SHA256 hash of the router's
microdescriptor with trailing =s omitted. For a given router
@@ -758,8 +758,8 @@ consensus should contain whichever microdescriptor digest is
most common. If there is no winner, we break ties in the favor
of the lexically earliest.
-[*Before consensus method 13, this field was sometimes erroneously
-omitted.]
+\[\*Before consensus method 13, this field was sometimes erroneously
+omitted.\]
Additionally, a microdescriptor consensus SHOULD use the sha256 digest
algorithm for its signatures.
@@ -774,7 +774,7 @@ request to the URL:
`http://<hostname>/tor/post/consensus-signature`
-[XXX Note why we support push-and-then-pull.]
+\[XXX Note why we support push-and-then-pull.\]
All of the detached signatures it knows for consensus status should be
available at:
@@ -790,7 +790,7 @@ follows:
"consensus-digest" SP Digest NL
-[At start, at most once.]
+\[At start, at most once.\]
The digest of the consensus being signed.
@@ -798,11 +798,11 @@ The digest of the consensus being signed.
"fresh-until" SP YYYY-MM-DD SP HH:MM:SS NL
"valid-until" SP YYYY-MM-DD SP HH:MM:SS NL
-[As in the consensus]
+\[As in the consensus\]
"additional-digest" SP flavor SP algname SP digest NL
-[Any number.]
+\[Any number.\]
For each supported consensus flavor, every directory authority
adds one or more "additional-digest" lines. "flavor" is the name
@@ -834,13 +834,13 @@ the OAEP+-padded SHA256 digest of the item to be signed. When
checking signatures, the signature MUST be treated as valid if the
signature material begins with SHA256(document), so that other
data can get added later.
-[To be honest, I didn't fully understand the previous paragraph
-and only copied it from the proposals. Review carefully. -KL]
+\[To be honest, I didn't fully understand the previous paragraph
+and only copied it from the proposals. Review carefully. -KL\]
"directory-signature"
-[As in the consensus; the signature object is the same as in the
-consensus document.]
+\[As in the consensus; the signature object is the same as in the
+consensus document.\]
<a id="dir-spec.txt-3.11"></a>
diff --git a/spec/dir-spec/vote-consensus-status-document-formats.md b/spec/dir-spec/vote-consensus-status-document-formats.md
index 379cd8f..6fe5637 100644
--- a/spec/dir-spec/vote-consensus-status-document-formats.md
+++ b/spec/dir-spec/vote-consensus-status-document-formats.md
@@ -23,21 +23,21 @@ order given here:
"network-status-version" SP version NL
-[At start, exactly once.]
+\[At start, exactly once.\]
A document format version. For this specification, the version is
"3".
"vote-status" SP type NL
-[Exactly once.]
+\[Exactly once.\]
The status MUST be "vote" or "consensus", depending on the type of
the document.
"consensus-methods" SP IntegerList NL
-[At most once for votes; does not occur in consensuses.]
+\[At most once for votes; does not occur in consensuses.\]
A space-separated list of supported methods for generating
consensuses from votes. See section 3.8.1 for details. Absence of
@@ -45,8 +45,8 @@ the line means that only method "1" is supported.
"consensus-method" SP Integer NL
-[At most once for consensuses; does not occur in votes.]
-[No extra arguments]
+\[At most once for consensuses; does not occur in votes.\]
+\[No extra arguments\]
See section 3.8.1 for details.
@@ -55,13 +55,13 @@ later.)
"published" SP YYYY-MM-DD SP HH:MM:SS NL
-[Exactly once for votes; does not occur in consensuses.]
+\[Exactly once for votes; does not occur in consensuses.\]
The publication time for this status document (if a vote).
"valid-after" SP YYYY-MM-DD SP HH:MM:SS NL
-[Exactly once.]
+\[Exactly once.\]
The start of the Interval for this vote. Before this time, the
consensus document produced from this vote is not officially in
@@ -75,7 +75,7 @@ See section 1.4 for voting timeline information.
"fresh-until" SP YYYY-MM-DD SP HH:MM:SS NL
-[Exactly once.]
+\[Exactly once.\]
The time at which the next consensus should be produced; before this
time, there is no point in downloading another consensus, since there
@@ -83,7 +83,7 @@ won't be a new one. See section 1.4 for voting timeline information.
"valid-until" SP YYYY-MM-DD SP HH:MM:SS NL
-[Exactly once.]
+\[Exactly once.\]
The end of the Interval for this vote. After this time, all
clients should try to find a more recent consensus. See section 1.4
@@ -95,7 +95,7 @@ downloaded.
"voting-delay" SP VoteSeconds SP DistSeconds NL
-[Exactly once.]
+\[Exactly once.\]
VoteSeconds is the number of seconds that we will allow to collect
votes from all authorities; DistSeconds is the number of seconds
@@ -104,7 +104,7 @@ section 1.4 for voting timeline information.
"client-versions" SP VersionList NL
-[At most once.]
+\[At most once.\]
A comma-separated list of recommended Tor versions for client
usage, in ascending order. The versions are given as defined by
@@ -113,7 +113,7 @@ versions.
"server-versions" SP VersionList NL
-[At most once.]
+\[At most once.\]
A comma-separated list of recommended Tor versions for relay
usage, in ascending order. The versions are given as defined by
@@ -122,7 +122,7 @@ versions.
"package" SP PackageName SP Version SP URL SP DIGESTS NL
-[Any number of times.]
+\[Any number of times.\]
For this element:
@@ -150,7 +150,7 @@ did not include this; method 34 removed it.
"known-flags" SP FlagList NL
-[Exactly once.]
+\[Exactly once.\]
A space-separated list of all of the flags that this document
might contain. A flag is "known" either because the authority
@@ -160,7 +160,7 @@ opinion to have been formed about their status.
"flag-thresholds" SP Thresholds NL
-[At most once for votes; does not occur in consensuses.]
+\[At most once for votes; does not occur in consensuses.\]
```text
A space-separated list of the internal performance thresholds
@@ -209,7 +209,7 @@ opinion to have been formed about their status.
"required-client-protocols" SP Entries NL
"required-relay-protocols" SP Entries NL
-[At most once for each.]
+\[At most once for each.\]
The "proto" element as specified in section 2.1.1.
@@ -225,9 +225,9 @@ the Tor code.
The tor-spec.txt section 9 details how a relay and a client should
behave when they encounter these lines in the consensus.
-"params" SP [Parameters] NL
+"params" SP \[Parameters\] NL
-[At most once]
+\[At most once\]
Parameter ::= Keyword '=' Int32
Int32 ::= A decimal integer between -2147483648 and 2147483647.
@@ -244,7 +244,7 @@ See param-spec.txt for a list of parameters and their meanings.
"shared-rand-previous-value" SP NumReveals SP Value NL
-[At most once]
+\[At most once\]
NumReveals ::= An integer greater or equal to 0.
Value ::= Base64-encoded-data
@@ -254,8 +254,8 @@ shared randomness protocol run. For example, if this document was
created on the 5th of November, this field carries the shared random
value generated during the protocol run of the 3rd of November.
-See section [SRCALC] of srv-spec.txt for instructions on how to compute
-this value, and see section [CONS] for why we include old shared random
+See section \[SRCALC\] of srv-spec.txt for instructions on how to compute
+this value, and see section \[CONS\] for why we include old shared random
values in votes and consensus.
Value is the actual shared random value encoded in base64. It will
@@ -264,7 +264,7 @@ to generate this SRV.
"shared-rand-current-value" SP NumReveals SP Value NL
-[At most once]
+\[At most once\]
NumReveals ::= An integer greater or equal to 0.
Value ::= Base64-encoded-data
@@ -274,7 +274,7 @@ randomness protocol run. For example, if this document was created on
the 5th of November, this field carries the shared random value
generated during the protocol run of the 4th of November
-See section [SRCALC] of srv-spec.txt for instructions on how to compute
+See section \[SRCALC\] of srv-spec.txt for instructions on how to compute
this value given the active commits.
Value is the actual shared random value encoded in base64. It will
@@ -283,7 +283,7 @@ generate this SRV.
"bandwidth-file-headers" SP KeyValues NL
-[At most once for votes; does not occur in consensuses.]
+\[At most once for votes; does not occur in consensuses.\]
KeyValues ::= "" | KeyValue | KeyValues SP KeyValue
KeyValue ::= Keyword '=' Value
@@ -301,9 +301,9 @@ fails, this line SHOULD appear in its vote, but without any headers.
First-appeared: Tor 0.3.5.1-alpha.
-"bandwidth-file-digest" 1*(SP algorithm "=" digest) NL
+"bandwidth-file-digest" 1\*(SP algorithm "=" digest) NL
-[At most once for votes; does not occur in consensuses.]
+\[At most once for votes; does not occur in consensuses.\]
A digest of the bandwidth file used to generate this vote.
"algorithm" is the name of the hash algorithm producing "digest",
@@ -340,7 +340,7 @@ connections.
"contact" SP string NL
-[Exactly once]
+\[Exactly once\]
An arbitrary string describing how to contact the directory
server's administrator. Administrators should include at least an
@@ -348,7 +348,7 @@ email address and a PGP fingerprint.
"legacy-dir-key" SP FINGERPRINT NL
-[At most once]
+\[At most once\]
Lists a fingerprint for an obsolete _identity_ key still used
by this authority to keep older clients working. This option
@@ -360,24 +360,24 @@ Debian OpenSSL RNG bug of May 2008.)
"shared-rand-participate" NL
-[At most once]
+\[At most once\]
Denotes that the directory authority supports and can participate in the
shared random protocol.
-"shared-rand-commit" SP Version SP AlgName SP Identity SP Commit [SP Reveal] NL
+"shared-rand-commit" SP Version SP AlgName SP Identity SP Commit \[SP Reveal\] NL
-[Any number of times]
+\[Any number of times\]
Version ::= An integer greater or equal to 0.
-AlgName ::= 1*(ALPHA / DIGIT / "_" / "-")
-Identity ::= 40* HEXDIG
+AlgName ::= 1\*(ALPHA / DIGIT / "\_" / "-")
+Identity ::= 40\* HEXDIG
Commit ::= Base64-encoded-data
Reveal ::= Base64-encoded-data
Denotes a directory authority commit for the shared randomness
protocol, containing the commitment value and potentially also the
-reveal value. See sections [COMMITREVEAL] and [VALIDATEVALUES] of
+reveal value. See sections \[COMMITREVEAL\] and \[VALIDATEVALUES\] of
srv-spec.txt on how to generate and validate these values.
Version is the current shared randomness protocol version. AlgName is
@@ -391,13 +391,13 @@ receiver MUST only consider the first commit listed.
"shared-rand-previous-value" SP NumReveals SP Value NL
-[At most once]
+\[At most once\]
See shared-rand-previous-value description above.
"shared-rand-current-value" SP NumReveals SP Value NL
-[At most once]
+\[At most once\]
See shared-rand-current-value description above.
@@ -461,7 +461,7 @@ in non-vote documents.
"a" SP address ":" port NL
-[Any number]
+\[Any number\]
The first advertised IPv6 address for the OR, if it is reachable.
@@ -477,7 +477,7 @@ consensus-method 14 or later.)
"s" SP Flags NL
-[Exactly once.]
+\[Exactly once.\]
A series of space-separated status flags, in lexical order (as ASCII
byte strings). Currently documented flags are:
@@ -535,7 +535,7 @@ long.
"pr" SP Entries NL
-[At most once.]
+\[At most once.\]
The "proto" family element as specified in section 2.1.1.
@@ -546,9 +546,9 @@ in section D. They are included in the consensus using the same rules
as currently used for "v" lines, if a sufficiently late consensus
method is in use.
-"w" SP "Bandwidth=" INT [SP "Measured=" INT] [SP "Unmeasured=1"] NL
+"w" SP "Bandwidth=" INT \[SP "Measured=" INT\] \[SP "Unmeasured=1"\] NL
-[At most once.]
+\[At most once.\]
An estimate of the bandwidth of this relay, in an arbitrary
unit (currently kilobytes per second). Used to weight router
@@ -572,7 +572,7 @@ Clients MUST ignore keywords they do not recognize.
"p" SP ("accept" / "reject") SP PortList NL
-[At most once.]
+\[At most once.\]
PortList = PortOrRange
PortList = PortList "," PortOrRange
@@ -582,9 +582,9 @@ A list of those ports that this router supports (if 'accept')
or does not support (if 'reject') for exit to "most
addresses".
-"m" SP methods 1*(SP algorithm "=" digest) NL
+"m" SP methods 1\*(SP algorithm "=" digest) NL
-[Any number, only in votes.]
+\[Any number, only in votes.\]
Microdescriptor hashes for all consensus methods that an authority
supports and that use the same microdescriptor format. "methods"
@@ -606,7 +606,7 @@ the router's microdescriptor with trailing =s omitted.
```
KeyValue ::= Keyword '=' Number
-Number ::= [0-9]+("."[0-9]+)?
+Number ::= \[0-9\]+("."\[0-9\]+)?
KeyValues ::= KeyValue | KeyValues SP KeyValue
Line containing various statistics that an authority has computed for
@@ -625,7 +625,7 @@ The footer section is delineated in all votes and consensuses supporting
consensus method 9 and above with the following:
"directory-footer" NL
-[No extra arguments]
+\[No extra arguments\]
It contains two subsections, a bandwidths-weights line and a
directory-signature. (Prior to consensus method 9, footers only contained
@@ -635,7 +635,7 @@ bandwidth-weights.)
The bandwidths-weights line appears At Most Once for a consensus. It does
not appear in votes.
-"bandwidth-weights" [SP Weights] NL
+"bandwidth-weights" \[SP Weights\] NL
Weight ::= Keyword '=' Int32
Int32 ::= A decimal integer between -2147483648 and 2147483647.