Browse Source

close the circuit when we get a truncated cell

svn:r893
Roger Dingledine 22 years ago
parent
commit
38ce03d0e7
1 changed files with 7 additions and 0 deletions
  1. 7 0
      src/or/circuit.c

+ 7 - 0
src/or/circuit.c

@@ -989,6 +989,13 @@ int circuit_truncated(circuit_t *circ, crypt_path_t *layer) {
   assert(circ);
   assert(circ);
   assert(layer);
   assert(layer);
 
 
+  /* XXX Since we don't ask for truncates currently, getting a truncated
+   *     means that a connection broke or an extend failed. For now,
+   *     just give up.
+   */
+  circuit_close(circ);
+  return 0;
+
   while(layer->next != circ->cpath) {
   while(layer->next != circ->cpath) {
     /* we need to clear out layer->next */
     /* we need to clear out layer->next */
     victim = layer->next;
     victim = layer->next;