瀏覽代碼

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 年之前
父節點
當前提交
e50fa0d6cb
共有 2 個文件被更改,包括 7 次插入1 次删除
  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.");