commit 9205552daab22aaa5178f2abbe169bb79f0cf8e3 Author: Nick Mathewson nickm@torproject.org Date: Fri Sep 13 13:37:53 2013 -0400
Don't apply read/write buckets to non-limited connections
Fixes bug 9731 --- changes/bug9731 | 3 +++ src/or/connection.c | 6 ++++++ 2 files changed, 9 insertions(+)
diff --git a/changes/bug9731 b/changes/bug9731 new file mode 100644 index 0000000..11bbc6a --- /dev/null +++ b/changes/bug9731 @@ -0,0 +1,3 @@ + o Major bugfixes: + - Do not apply connection_consider_empty_read/write_buckets to + non-rate-limited connections. diff --git a/src/or/connection.c b/src/or/connection.c index 6e754a0..30ee427 100644 --- a/src/or/connection.c +++ b/src/or/connection.c @@ -2483,6 +2483,9 @@ connection_consider_empty_read_buckets(connection_t *conn) } else return; /* all good, no need to stop it */
+ if (!connection_is_rate_limited(conn)) + return; /* Always okay. */ + LOG_FN_CONN(conn, (LOG_DEBUG, LD_NET, "%s", reason)); conn->read_blocked_on_bw = 1; connection_stop_reading(conn); @@ -2507,6 +2510,9 @@ connection_consider_empty_write_buckets(connection_t *conn) } else return; /* all good, no need to stop it */
+ if (!connection_is_rate_limited(conn)) + return; /* Always okay. */ + LOG_FN_CONN(conn, (LOG_DEBUG, LD_NET, "%s", reason)); conn->write_blocked_on_bw = 1; connection_stop_writing(conn);