[tor-commits] [tor/master] Stop being so strict about the payload length of "rendezvous1" cells

nickm at torproject.org nickm at torproject.org
Tue May 10 01:10:23 UTC 2016


commit be0e1e9e2f69476da0b3e81abc3bbebed0838ad7
Author: Roger Dingledine <arma at torproject.org>
Date:   Mon May 9 20:34:27 2016 -0400

    Stop being so strict about the payload length of "rendezvous1" cells
    
    We used to be locked in to the "tap" handshake length, and now we can
    handle better handshakes like "ntor".
    
    Resolves ticket 18998.
    
    I checked that relay_send_command_from_edge() behaves fine when you
    hand it a payload with length 0. Clients behave fine too, since current
    clients remain strict about the required length in the rendezvous2 cells.
    (Clients will want to become less strict once they have an alternate
    format that they're willing to receive.)
---
 changes/feature18998 | 5 +++++
 src/or/rendmid.c     | 2 +-
 2 files changed, 6 insertions(+), 1 deletion(-)

diff --git a/changes/feature18998 b/changes/feature18998
new file mode 100644
index 0000000..a2679c0
--- /dev/null
+++ b/changes/feature18998
@@ -0,0 +1,5 @@
+  o Minor features:
+    - Stop being so strict about the payload length of "rendezvous1"
+      cells. We used to be locked in to the "tap" handshake length,
+      and now we can handle better handshakes like "ntor". Resolves
+      ticket 18998.
diff --git a/src/or/rendmid.c b/src/or/rendmid.c
index a33ad92..ca0ad7b 100644
--- a/src/or/rendmid.c
+++ b/src/or/rendmid.c
@@ -309,7 +309,7 @@ rend_mid_rendezvous(or_circuit_t *circ, const uint8_t *request,
     goto err;
   }
 
-  if (request_len != REND_COOKIE_LEN+DH_KEY_LEN+DIGEST_LEN) {
+  if (request_len < REND_COOKIE_LEN) {
     log_fn(LOG_PROTOCOL_WARN, LD_PROTOCOL,
          "Rejecting RENDEZVOUS1 cell with bad length (%d) on circuit %u.",
          (int)request_len, (unsigned)circ->p_circ_id);





More information about the tor-commits mailing list