aboutsummaryrefslogtreecommitdiff
path: root/rend-spec-v3.txt
diff options
context:
space:
mode:
authorteor <teor@torproject.org>2019-08-23 15:27:38 +1000
committerteor <teor@torproject.org>2019-08-23 15:27:38 +1000
commitf29d2250407de7bf63424abae413f62f97e4f219 (patch)
treeaeef694e78e874a902de340e2b1620e1e27d4e38 /rend-spec-v3.txt
parentd03d6ace4b8075861feb0a7ac3ef8eedb204482c (diff)
downloadtorspec-f29d2250407de7bf63424abae413f62f97e4f219.tar.gz
torspec-f29d2250407de7bf63424abae413f62f97e4f219.zip
rend-v3: single onion services retry intro and rend with 3-hop paths
Spec for 23507 and 23818.
Diffstat (limited to 'rend-spec-v3.txt')
-rw-r--r--rend-spec-v3.txt14
1 files changed, 14 insertions, 0 deletions
diff --git a/rend-spec-v3.txt b/rend-spec-v3.txt
index 141cfa0..b401134 100644
--- a/rend-spec-v3.txt
+++ b/rend-spec-v3.txt
@@ -1477,6 +1477,13 @@ Table of contents:
First, a hidden service host builds an anonymous circuit to a Tor
node and registers that circuit as an introduction point.
+ Single Onion Services attempt to build a non-anonymous single-hop circuit,
+ but use an anonymous 3-hop circuit if:
+ * the intro point is on an address that is configured as unreachable via
+ a direct connection, or
+ * the initial attempt to connect to the intro point over a single-hop
+ circuit fails, and they are retrying the intro point connection.
+
[After 'First' and before 'Second', the hidden service publishes its
introduction points and associated keys, and the client fetches
them as described in section [HSDIR] above.]
@@ -1912,6 +1919,13 @@ Table of contents:
this has occurred, the relay forwards the contents of the RENDEZVOUS
cell to the client, and joins the two circuits together.
+ Single Onion Services attempt to build a non-anonymous single-hop circuit,
+ but use an anonymous 3-hop circuit if:
+ * the rend point is on an address that is configured as unreachable via
+ a direct connection, or
+ * the initial attempt to connect to the rend point over a single-hop
+ circuit fails, and they are retrying the rend point connection.
+
4.1. Establishing a rendezvous point [EST_REND_POINT]
The client sends the rendezvous point a RELAY_COMMAND_ESTABLISH_RENDEZVOUS