aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--bandwidth-file-spec.txt4
-rw-r--r--dir-spec.txt15
-rw-r--r--param-spec.txt33
3 files changed, 33 insertions, 19 deletions
diff --git a/bandwidth-file-spec.txt b/bandwidth-file-spec.txt
index fd08955..fdb5bd5 100644
--- a/bandwidth-file-spec.txt
+++ b/bandwidth-file-spec.txt
@@ -70,6 +70,7 @@
Tor SHOULD NOT use their bandwidths in its votes.
Also adds Tor version.
+ 1.5.0 - Removes "recent_measurement_attempt_count" KeyValue.
All Tor versions can consume format version 1.0.0.
@@ -403,7 +404,8 @@
has been prioritized unless there are system, network or implementation
issues.
- This Line was added in version 1.4.0 of this specification.
+ This Line was added in version 1.4.0 of this specification and removed
+ in version 1.5.0.
"recent_measurement_failure_count=" Int NL
diff --git a/dir-spec.txt b/dir-spec.txt
index cdbe00b..a4db643 100644
--- a/dir-spec.txt
+++ b/dir-spec.txt
@@ -2805,6 +2805,10 @@
* If consensus method 30 or later is used, the base64 encoded
ntor-onion-key does not include the trailing = sign.
+ * If consensus method 31 or later is used, authorities parse the
+ "bwweightscale" and "maxunmeasuredbw" parameters correctly when
+ computing votes.
+
The signatures at the end of a consensus document are sorted in
ascending order by identity digest.
@@ -2891,6 +2895,8 @@
"28" -- Removes "a" lines from microdescriptors.
"29" -- Canonicalizes families in microdescriptors.
"30" -- Removes padding from ntor-onion-key.
+ "31" -- Uses correct parsing for bwweightscale and maxunmeasuredbw
+ when computing weights
Before generating a consensus, an authority must decide which consensus
method to use. To do this, it looks for the highest version number
@@ -2938,7 +2944,11 @@
3.8.3. Computing Bandwidth Weights
- Let weight_scale = 10000
+ Let weight_scale = 10000, or the value of the "bwweightscale" parameter.
+ (Before consensus method 31 there was a bug in parsing bwweightscale, so
+ that if there were any consensus parameters after it alphabetically, it
+ would always be treated as 10000. A similar bug existed for
+ "maxunmeasuredbw".)
Starting with consensus method 26, G, M, E, and D are initialized to 1 and
T to 4. Prior consensus methods initialize them all to 0. With this change,
@@ -3091,7 +3101,8 @@
To ensure consensus, all calculations are performed using integer math
with a fixed precision determined by the bwweightscale consensus
- parameter (defaults at 10000, Min: 1, Max: INT32_MAX).
+ parameter (defaults at 10000, Min: 1, Max: INT32_MAX). (See note above
+ about parsing bug in bwweightscale before consensus method 31.)
For future balancing improvements, Tor clients support 11 additional weights
for directory requests and middle weighting. These weights are currently
diff --git a/param-spec.txt b/param-spec.txt
index 9c9dc44..77eee34 100644
--- a/param-spec.txt
+++ b/param-spec.txt
@@ -10,16 +10,9 @@ line of a directory consensus.
established with. It started out at 1000 cells, but some research
indicates that a lower value would mean fewer cells in transit in the
network at any given time.
- Min: 100, Max: 1000
+ Min: 100, Max: 1000, Default: 1000
First-appeared: Tor 0.2.1.20
- "refuseunknownexits" -- if set to one, exit relays look at the previous
- hop of circuits that ask to open an exit stream, and refuse to exit if
- they don't recognize it as a relay. The goal is to make it harder for
- people to use them as one-hop proxies. See trac entry 1751 for details.
- Min: 0, Max: 1
- First-appeared: 0.2.2.17-alpha
-
"UseOptimisticData" -- If set to zero, clients by default shouldn't try
to send optimistic data to servers until they have received a
RELAY_CONNECTED cell.
@@ -42,11 +35,6 @@ line of a directory consensus.
Min: 25, Max: 95, Default: 60
First-appeared: 0.2.4
- "AllowNonearlyExtend" -- If true, permit EXTEND cells that are not inside
- RELAY_EARLY cells.
- Min: 0. Max: 1. Default: 0.
- First-appeared: 0.2.3.11-alpha
-
"ExtendByEd25519ID" -- If true, clients should include Ed25519
identities for relays when generating EXTEND2 cells.
Min: 0. Max: 1. Default: 0.
@@ -60,7 +48,7 @@ line of a directory consensus.
0.2.2.10-alpha and later. (Versions of Tor between 0.2.2.7-alpha and
0.2.2.10-alpha recognized a "CircPriorityHalflifeMsec" parameter, but
mishandled it badly.)
- Min: -1, Max: 2147483647 (INT32_MAX)
+ Min: 1, Max: 2147483647 (INT32_MAX), Default: 30000.
First-appeared: Tor 0.2.2.11-alpha
"perconnbwrate" and "perconnbwburst" -- if set, each relay sets up a
@@ -71,7 +59,8 @@ line of a directory consensus.
0.2.2.7-alpha through 0.2.2.14-alpha looked for bwconnrate and
bwconnburst, but then did the wrong thing with them; see bug 1830 for
details.)
- Min: 1, Max: 2147483647 (INT32_MAX)
+ Min: 1, Max: 2147483647 (INT32_MAX), Default: (user setting of
+ BandwidthRate/BandwidthBurst).
First-appeared: 0.2.2.7-alpha
Removed-in: 0.2.2.16-alpha
@@ -82,7 +71,7 @@ line of a directory consensus.
"circ_max_cell_queue_size" -- This parameter determines the maximum
number of cells allowed per circuit queue.
- Min 1000. Max 4294967295. Default 50000.
+ Min: 1000. Max: 2147483647 (INT32_MAX). Default: 50000.
First-appeared: 0.3.3.6-rc.
"sendme_emit_min_version" -- Minimum SENDME version that can be sent.
@@ -156,6 +145,13 @@ line of a directory consensus.
7. Relay behavior
+ "refuseunknownexits" -- if set to one, exit relays look at the previous
+ hop of circuits that ask to open an exit stream, and refuse to exit if
+ they don't recognize it as a relay. The goal is to make it harder for
+ people to use them as one-hop proxies. See trac entry 1751 for details.
+ Min: 0, Max: 1
+ First-appeared: 0.2.2.17-alpha
+
"onion-key-rotation-days" -- (min 1, max 90, default 28)
"onion-key-grace-period-days" -- (min 1, max
@@ -168,6 +164,11 @@ line of a directory consensus.
days after it is replaced. (Introduced in 0.3.1.1-alpha;
prior versions of tor hardcoded both of these values to 7 days.)
+ "AllowNonearlyExtend" -- If true, permit EXTEND cells that are not inside
+ RELAY_EARLY cells.
+ Min: 0. Max: 1. Default: 0.
+ First-appeared: 0.2.3.11-alpha
+
8. V3 onion service parameters
"hs_intro_min_introduce2", "hs_intro_max_introduce2" --