diff options
author | Nick Mathewson <nickm@torproject.org> | 2023-01-30 16:46:58 -0500 |
---|---|---|
committer | Nick Mathewson <nickm@torproject.org> | 2023-01-30 16:46:58 -0500 |
commit | b842f50c4f952d9baec83395dd782241c20de610 (patch) | |
tree | e3fb39062527366819dd86dd517a02862de1febe /rend-spec-v3.txt | |
parent | 8f7f6f9e97a78f16454a155aef9dc315f608f925 (diff) | |
download | torspec-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.txt | 7 |
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 |