aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorNick Mathewson <nickm@torproject.org>2024-02-14 08:55:29 -0500
committerNick Mathewson <nickm@torproject.org>2024-02-14 08:55:29 -0500
commitfcdbdf63776db815099052be3c4a842e0223b0b5 (patch)
treea51951325f82bd587fa51061f210362fef865c33
parent664b6626bac8fb356d7f9f075874c5f806c0bbb5 (diff)
downloadtorspec-fcdbdf63776db815099052be3c4a842e0223b0b5.tar.gz
torspec-fcdbdf63776db815099052be3c4a842e0223b0b5.zip
Clarify rend-point behavior with relay cells
Previously, we didn't actually say that relay cells got retransmitted; we only said that the circuits were "joined". Closes #254 by clarifying that RELAY_EARLY cells are retransmitted as RELAY cells.
-rw-r--r--spec/rend-spec/protocol-overview.md13
1 files changed, 10 insertions, 3 deletions
diff --git a/spec/rend-spec/protocol-overview.md b/spec/rend-spec/protocol-overview.md
index a50b3d1..9f7c96f 100644
--- a/spec/rend-spec/protocol-overview.md
+++ b/spec/rend-spec/protocol-overview.md
@@ -40,9 +40,16 @@ circuits, and the cryptographic handshake gives the two parties a
shared key and proves to the client that it is indeed talking to the
hidden service.
-Once the two circuits are joined, the client can use Tor RELAY cells
-to deliver relay messages
-to the server. RELAY_BEGIN messages open streams to an external process
+Once the two circuits are joined, the client can use Tor relay cells
+to deliver relay messages to the server:
+Whenever the rendezvous point receives as relay cell from one of
+the circuits, it transmits it to the other.
+(It accepts both RELAY and RELAY_EARLY cells,
+and retransmits them all as RELAY cells.)
+
+The two parties use these relay messages to implement Tor's
+usual application stream protocol:
+RELAY_BEGIN messages open streams to an external process
or processes configured by the server; RELAY_DATA messages are used to
communicate data on those streams, and so forth.