소스 검색

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 13 년 전
부모
커밋
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.");