]> git.ipfire.org Git - thirdparty/tor.git/commitdiff
prop350: Stop accepting CREATE and EXTEND.
authorNick Mathewson <nickm@torproject.org>
Mon, 24 Jun 2024 17:29:04 +0000 (13:29 -0400)
committerNick Mathewson <nickm@torproject.org>
Mon, 24 Jun 2024 17:29:04 +0000 (13:29 -0400)
src/core/or/command.c
src/feature/relay/circuitbuild_relay.c

index cad7a173b6d650bd1ffb176f766cefecc86ec8d0..c35400d7a1985e5e8b28d8eb9d2f88c13b583cf8 100644 (file)
@@ -331,6 +331,14 @@ command_process_create_cell(cell_t *cell, channel_t *chan)
     return;
   }
 
+  /* We no longer accept TAP, for any reason. */
+  if (create_cell->handshake_type == ONION_HANDSHAKE_TYPE_TAP) {
+    tor_free(create_cell);
+    /* TODO: Should we collect statistics here?  Should we log? */
+    circuit_mark_for_close(TO_CIRCUIT(circ), END_CIRC_REASON_TORPROTOCOL);
+    return;
+  }
+
   /* Mark whether this circuit used TAP in case we need to use this
    * information for onion service statistics later on. */
   if (create_cell->handshake_type == ONION_HANDSHAKE_TYPE_FAST ||
index ce6cbe6df45da5ae2cd901163ae86fa3e4026877..88b578c4a48f24acd36238636b4108afd9a51672 100644 (file)
@@ -443,6 +443,12 @@ circuit_extend(struct cell_t *cell, struct circuit_t *circ)
 
   relay_header_unpack(&rh, cell->payload);
 
+  /* We no longer accept EXTEND messages; only EXTEND2. */
+  if (rh.command == RELAY_COMMAND_EXTEND) {
+    /* TODO: Should we log this? */
+    return -1;
+  }
+
   if (extend_cell_parse(&ec, rh.command,
                         cell->payload+RELAY_HEADER_SIZE,
                         rh.length) < 0) {