aboutsummaryrefslogtreecommitdiff
path: root/rend-spec-v3.txt
diff options
context:
space:
mode:
authorNick Mathewson <nickm@torproject.org>2023-01-30 16:46:58 -0500
committerNick Mathewson <nickm@torproject.org>2023-01-30 16:46:58 -0500
commitb842f50c4f952d9baec83395dd782241c20de610 (patch)
treee3fb39062527366819dd86dd517a02862de1febe /rend-spec-v3.txt
parent8f7f6f9e97a78f16454a155aef9dc315f608f925 (diff)
downloadtorspec-b842f50c4f952d9baec83395dd782241c20de610.tar.gz
torspec-b842f50c4f952d9baec83395dd782241c20de610.zip
Document missing NL in the middle layer of an HsDesc.
It looks like C tor doesn't include a final newline in the middle layer of its onion service descriptors. That made arti reject them the first time I tried to parse one! Here I document this behavior, and tell other implementations what to do.
Diffstat (limited to 'rend-spec-v3.txt')
-rw-r--r--rend-spec-v3.txt7
1 files changed, 7 insertions, 0 deletions
diff --git a/rend-spec-v3.txt b/rend-spec-v3.txt
index 278c1fa..a4a827a 100644
--- a/rend-spec-v3.txt
+++ b/rend-spec-v3.txt
@@ -1270,6 +1270,13 @@ Table of contents:
discussed in [HS-DESC-SECOND-LAYER] below. The blob is base64 encoded
and enclosed in -----BEGIN MESSAGE---- and ----END MESSAGE---- wrappers.
+
+ Compatibility note: The C Tor implementation does not include a final
+ newline when generating this first-layer-plaintext section; other
+ implementations MUST accept this section even if it is missing its final
+ newline. Other implementations MAY generate this section without a final
+ newline themselves, to avoid being distinguishable from C tor.
+
2.5.1.3. Client behavior [FIRST-LAYER-CLIENT-BEHAVIOR]
The goal of clients at this stage is to decrypt the "encrypted" field as