aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--dir-spec.txt19
-rw-r--r--path-spec.txt14
-rw-r--r--proposals/000-index.txt4
-rw-r--r--proposals/335-middle-only-redux.md2
-rw-r--r--proposals/BY_INDEX.md2
-rw-r--r--proposals/README.md2
6 files changed, 36 insertions, 7 deletions
diff --git a/dir-spec.txt b/dir-spec.txt
index 0eb174a..98fe4be 100644
--- a/dir-spec.txt
+++ b/dir-spec.txt
@@ -2329,6 +2329,11 @@ Table of Contents
"Fast" if the router is suitable for high-bandwidth circuits.
"Guard" if the router is suitable for use as an entry guard.
"HSDir" if the router is considered a v2 hidden service directory.
+ "MiddleOnly" if the router is considered unsuitable for
+ usage other than as a middle relay. Clients do not need
+ to handle this option, since when it is present, the authorities
+ will automatically vote against flags that would make the router
+ usable in other positions. (Since 0.4.7.2-alpha.)
"NoEdConsensus" if any Ed25519 key in the router's descriptor or
microdescriptor does not reflect authority consensus.
"Stable" if the router is suitable for long-lived circuits.
@@ -2638,6 +2643,13 @@ Table of Contents
authority believes that it's been up for at least 96 hours (or the current
value of MinUptimeHidServDirectoryV2).
+ "MiddleOnly" -- An authority should vote for this flag if it believes
+ that a relay is unsuitable for use except as a middle relay. When
+ voting for this flag, the authority should also vote against "Exit",
+ "Guard", "HsDir", and "V2Dir". When voting for this flag, if the
+ authority votes on the "BadExit" flag, the authority should vote in
+ favor of "BadExit". (This flag was added in 0.4.7.2-alpha.)
+
"NoEdConsensus" -- authorities should not vote on this flag; it is
produced as part of the consensus for consensus method 22 or later.
@@ -2957,6 +2969,13 @@ Table of Contents
"bwweightscale" and "maxunmeasuredbw" parameters correctly when
computing votes.
+ * If consensus method 32 or later is used, authorities handle the
+ "MiddleOnly" flag specially when computing a consensus. When the
+ voters agree to include "MiddleOnly" in a routerstatus, they
+ automatically remove "Exit", "Guard", "V2Dir", and "HSDir". If
+ the BadExit flag is included in the consensus, they automatically
+ add it to the routerstatus.
+
The signatures at the end of a consensus document are sorted in
ascending order by identity digest.
diff --git a/path-spec.txt b/path-spec.txt
index 4422be4..33d50e5 100644
--- a/path-spec.txt
+++ b/path-spec.txt
@@ -633,8 +633,8 @@ Tables of Contents
Default: 20
Min: 3
Max: 1000
- Effect: This is the number of circuit build times to keep track of
- for the following option.
+ Effect: This is the number of circuit build outcomes (success vs
+ timeout) to keep track of for the following option.
cbtmaxtimeouts
Default: 18
@@ -644,6 +644,10 @@ Tables of Contents
circuit attempts, the client should discard all of its
history and begin learning a fresh timeout value.
+ Note that if this parameter's value is greater than the value
+ of 'cbtrecentcount', then the history will never be
+ discarded because of this feature.
+
cbtmincircs
Default: 100
Min: 1
@@ -651,6 +655,12 @@ Tables of Contents
Effect: This is the minimum number of circuits to build before
computing a timeout.
+ Note that if this parameter's value is higher than 1000 (the
+ number of time observations that a client keeps in its
+ circular buffer), circuit build timeout calculation is
+ effectively disabled, and the default timeouts are used
+ indefinitely.
+
cbtquantile
Default: 80
Min: 10
diff --git a/proposals/000-index.txt b/proposals/000-index.txt
index abd833a..40152dd 100644
--- a/proposals/000-index.txt
+++ b/proposals/000-index.txt
@@ -255,7 +255,7 @@ Proposals by number:
332 Ntor protocol with extra data, version 3 [ACCEPTED]
333 Vanguards lite [FINISHED]
334 A Directory Authority Flag To Mark Relays As Middle-only [SUPERSEDED]
-335 An authority-only design for MiddleOnly [FINISHED]
+335 An authority-only design for MiddleOnly [CLOSED]
336 Randomized schedule for guard retries [OPEN]
337 A simpler way to decide, "Is this guard usable?" [OPEN]
@@ -321,7 +321,6 @@ Proposals by status:
FINISHED:
260 Rendezvous Single Onion Services [in 0.2.9.3-alpha]
333 Vanguards lite [in 0.4.7.1-alpha]
- 335 An authority-only design for MiddleOnly [in 0.4.7.2-alpha]
CLOSED:
101 Voting on the Tor Directory System [in 0.2.0.x]
102 Dropping "opt" from the directory format [in 0.2.0.x]
@@ -422,6 +421,7 @@ Proposals by status:
315 Updating the list of fields required in directory documents [in 0.4.5.1-alpha]
318 Limit protover values to 0-63 [in 0.4.5.1-alpha]
328 Make Relays Report When They Are Overloaded
+ 335 An authority-only design for MiddleOnly [in 0.4.7.2-alpha]
SUPERSEDED:
112 Bring Back Pathlen Coin Weight
113 Simplifying directory authority administration
diff --git a/proposals/335-middle-only-redux.md b/proposals/335-middle-only-redux.md
index c87f37d..b308e76 100644
--- a/proposals/335-middle-only-redux.md
+++ b/proposals/335-middle-only-redux.md
@@ -3,7 +3,7 @@ Filename: 335-middle-only-redux.md
Title: An authority-only design for MiddleOnly
Author: Nick Mathewson
Created: 2021-10-08
-Status: Finished
+Status: Closed
Implemented-In: 0.4.7.2-alpha
```
diff --git a/proposals/BY_INDEX.md b/proposals/BY_INDEX.md
index da77281..e6bf782 100644
--- a/proposals/BY_INDEX.md
+++ b/proposals/BY_INDEX.md
@@ -252,7 +252,7 @@ Below are a list of proposals sorted by their proposal number. See
* [`332-ntor-v3-with-extra-data.md`](/proposals/332-ntor-v3-with-extra-data.md): Ntor protocol with extra data, version 3 [ACCEPTED]
* [`333-vanguards-lite.md`](/proposals/333-vanguards-lite.md): Vanguards lite [FINISHED]
* [`334-middle-only-flag.txt`](/proposals/334-middle-only-flag.txt): A Directory Authority Flag To Mark Relays As Middle-only [SUPERSEDED]
-* [`335-middle-only-redux.md`](/proposals/335-middle-only-redux.md): An authority-only design for MiddleOnly [FINISHED]
+* [`335-middle-only-redux.md`](/proposals/335-middle-only-redux.md): An authority-only design for MiddleOnly [CLOSED]
* [`336-randomize-guard-retries.md`](/proposals/336-randomize-guard-retries.md): Randomized schedule for guard retries [OPEN]
* [`337-simpler-guard-usability.md`](/proposals/337-simpler-guard-usability.md): A simpler way to decide, "Is this guard usable?" [OPEN]
diff --git a/proposals/README.md b/proposals/README.md
index e4011b3..512ea26 100644
--- a/proposals/README.md
+++ b/proposals/README.md
@@ -68,7 +68,6 @@ themselves still need to be merged into the specifications proper.
* [`260-rend-single-onion.txt`](/proposals/260-rend-single-onion.txt): Rendezvous Single Onion Services
* [`333-vanguards-lite.md`](/proposals/333-vanguards-lite.md): Vanguards lite
-* [`335-middle-only-redux.md`](/proposals/335-middle-only-redux.md): An authority-only design for MiddleOnly
## META proposals: about the proposal process
@@ -240,6 +239,7 @@ necessary.
* [`315-update-dir-required-fields.txt`](/proposals/315-update-dir-required-fields.txt): Updating the list of fields required in directory documents
* [`318-limit-protovers.md`](/proposals/318-limit-protovers.md): Limit protover values to 0-63
* [`328-relay-overload-report.md`](/proposals/328-relay-overload-report.md): Make Relays Report When They Are Overloaded
+* [`335-middle-only-redux.md`](/proposals/335-middle-only-redux.md): An authority-only design for MiddleOnly
## RESERVE proposals: saving for later