aboutsummaryrefslogtreecommitdiff
path: root/spec/path-spec/when-we-build.md
diff options
context:
space:
mode:
Diffstat (limited to 'spec/path-spec/when-we-build.md')
-rw-r--r--spec/path-spec/when-we-build.md9
1 files changed, 8 insertions, 1 deletions
diff --git a/spec/path-spec/when-we-build.md b/spec/path-spec/when-we-build.md
index 4320c58..ca9b704 100644
--- a/spec/path-spec/when-we-build.md
+++ b/spec/path-spec/when-we-build.md
@@ -1,7 +1,9 @@
<a id="path-spec.txt-2.1"></a>
+
## When we build
<a id="path-spec.txt-2.1.0"></a>
+
### We don't build circuits until we have enough directory info
There's a class of possible attacks where our directory servers
@@ -56,6 +58,7 @@ If the consensus lists zero exit-flagged relays, Tor instead uses the
fraction of middle relays.
<a id="path-spec.txt-2.1.1"></a>
+
### Clients build circuits preemptively
When running as a client, Tor tries to maintain at least a certain
@@ -90,6 +93,7 @@ The Tor client SHOULD NOT store its list of predicted requests to a
persistent medium.
<a id="path-spec.txt-2.1.2"></a>
+
### Clients build circuits on demand
Additionally, when a client request exists that no circuit (built or
@@ -109,6 +113,7 @@ In some cases we can reuse an already established circuit if it's
clean; see Section 2.3 (cannibalizing circuits) for details.
<a id="path-spec.txt-2.1.3"></a>
+
### Relays build circuits for testing reachability and bandwidth
Tor relays test reachability of their ORPort once they have
@@ -131,11 +136,13 @@ established a circuit, but they use an ordinary exit circuit for
this purpose.
<a id="path-spec.txt-2.1.4"></a>
+
### Hidden-service circuits
See section 4 below.
<a id="path-spec.txt-2.1.5"></a>
+
### Rate limiting of failed circuits
If we fail to build a circuit N times in a X second period (see Section
@@ -144,6 +151,7 @@ have elapsed.
XXXX
<a id="path-spec.txt-2.1.6"></a>
+
### When to tear down circuits
Clients should tear down circuits (in general) only when those circuits
@@ -158,4 +166,3 @@ stream-less circuits only under one of the following conditions:
- The circuit is dirty (has had a stream attached), and it has been
dirty for at least MaxCircuitDirtiness.
```
-