Pārlūkot izejas kodu

Refuse extra create cells with reason "resource limit"

In the past we had used reason "internal", which is more vague than
it needs to be. Resolves bug 7037.
Roger Dingledine 12 gadi atpakaļ
vecāks
revīzija
e50fa0d6cb
2 mainītis faili ar 7 papildinājumiem un 1 dzēšanām
  1. 6 0
      changes/bug7037
  2. 1 1
      src/or/command.c

+ 6 - 0
changes/bug7037

@@ -0,0 +1,6 @@
+  o Minor bugfixes:
+    - When relays refuse a "create" cell because their queue of pending
+      create cells is too big (typically because their cpu can't keep up
+      with the arrival rate), send back reason "resource limit" rather
+      than reason "internal", so network measurement scripts can get a
+      more accurate picture. Bugfix on 0.1.1.11-alpha; fixes bug 7037.

+ 1 - 1
src/or/command.c

@@ -428,7 +428,7 @@ command_process_create_cell(cell_t *cell, or_connection_t *conn)
         log_warn(LD_GENERAL,"Failed to hand off onionskin. Closing.%s",m);
         tor_free(m);
       }
-      circuit_mark_for_close(TO_CIRCUIT(circ), END_CIRC_REASON_INTERNAL);
+      circuit_mark_for_close(TO_CIRCUIT(circ), END_CIRC_REASON_RESOURCELIMIT);
       return;
     }
     log_debug(LD_OR,"success: handed off onionskin.");