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.
This commit is contained in:
Roger Dingledine 2012-10-03 20:17:37 -04:00
parent c88a4c51b4
commit e50fa0d6cb
2 changed files with 7 additions and 1 deletions

6
changes/bug7037 Normal file
View File

@ -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.

View File

@ -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); log_warn(LD_GENERAL,"Failed to hand off onionskin. Closing.%s",m);
tor_free(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; return;
} }
log_debug(LD_OR,"success: handed off onionskin."); log_debug(LD_OR,"success: handed off onionskin.");