diff options
author | teor <teor@torproject.org> | 2019-08-23 15:27:38 +1000 |
---|---|---|
committer | teor <teor@torproject.org> | 2019-08-23 15:27:38 +1000 |
commit | f29d2250407de7bf63424abae413f62f97e4f219 (patch) | |
tree | aeef694e78e874a902de340e2b1620e1e27d4e38 /rend-spec-v3.txt | |
parent | d03d6ace4b8075861feb0a7ac3ef8eedb204482c (diff) | |
download | torspec-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.txt | 14 |
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 |