Explorar o código

close the circuit when we get a truncated cell

svn:r893
Roger Dingledine %!s(int64=22) %!d(string=hai) anos
pai
achega
38ce03d0e7
Modificáronse 1 ficheiros con 7 adicións e 0 borrados
  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(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) {
     /* we need to clear out layer->next */
     victim = layer->next;