diff options
Diffstat (limited to 'spec/dir-spec/client-operation.md')
-rw-r--r-- | spec/dir-spec/client-operation.md | 17 |
1 files changed, 13 insertions, 4 deletions
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) ``` - |