[tor-commits] [torspec/master] When VPADDING cells are sent early, specify their CIRC_ID_LEN

nickm at torproject.org nickm at torproject.org
Tue Sep 19 23:32:52 UTC 2017


commit 33d819164cbdf349cfdbe0dda6f26a5af3e2f1f9
Author: teor <teor2345 at gmail.com>
Date:   Wed Sep 20 09:28:41 2017 +1000

    When VPADDING cells are sent early, specify their CIRC_ID_LEN
    
    Resolves 22929.
---
 tor-spec.txt | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/tor-spec.txt b/tor-spec.txt
index 3c8b6e9..aab417b 100644
--- a/tor-spec.txt
+++ b/tor-spec.txt
@@ -434,8 +434,9 @@ see tor-design.pdf.
    byte equal to 7 ("VERSIONS"), or greater than or equal to 128.
 
    CIRCID_LEN is 2 for link protocol versions 1, 2, and 3.  CIRCID_LEN
-   is 4 for link protocol version 4 or higher.  The VERSIONS cell itself
-   always has CIRCID_LEN == 2 for backward compatibility.
+   is 4 for link protocol version 4 or higher.  The first VERSIONS cell,
+   and any cells sent before the first VERSIONS cell, always have
+   CIRCID_LEN == 2 for backward compatibility.
 
    The CircID field determines which circuit, if any, the cell is
    associated with.
@@ -543,8 +544,9 @@ see tor-design.pdf.
    right after the renegotiation is finished, before any other cells are
    sent.  In "in-protocol", the initiator sends a VERSIONS cell
    immediately after the initial TLS handshake, and the responder
-   replies immediately with a VERSIONS cell.  Parties MUST NOT send any
-   other cells on a connection until they have received a VERSIONS cell.
+   replies immediately with a VERSIONS cell. (As an exception to this rule,
+   if both sides support the "in-protocol" handshake, either side may send
+   VPADDING cells at any time.)
 
    The payload in a VERSIONS cell is a series of big-endian two-byte
    integers.  Both parties MUST select as the link protocol version the





More information about the tor-commits mailing list