From: Roger Dingledine Date: Tue, 31 Mar 2009 01:29:07 +0000 (+0000) Subject: Directory authorities should never send a 503 "busy" response to X-Git-Tag: tor-0.2.1.14-rc~22 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=793f1ce007e978ad961a3dea0fda32299cb47e5b;p=thirdparty%2Ftor.git Directory authorities should never send a 503 "busy" response to requests for votes or keys. Bugfix on 0.2.0.8-alpha; exposed by bug 959. svn:r19189 --- diff --git a/ChangeLog b/ChangeLog index 8fe9cb7589..3a45a0f72d 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,4 +1,4 @@ -Changes in version 0.2.1.14-??? - 2009-03-?? +Changes in version 0.2.1.14-??? - 2009-04-?? o Minor bugfixes: - Avoid trying to print raw memory to the logs when we decide to give up on downloading a given relay descriptor. Bugfix on @@ -16,6 +16,9 @@ Changes in version 0.2.1.14-??? - 2009-03-?? duplicating a string at the end of a page. This bug was harmless for now, but could have meant crashes later. Fix by lark. Bugfix on 0.2.1.1-alpha. + - Directory authorities should never send a 503 "busy" response to + requests for votes or keys. Bugfix on 0.2.0.8-alpha; exposed by + bug 959. o Minor features (controller): - Try harder to look up nicknames for routers on a circuit when diff --git a/src/or/directory.c b/src/or/directory.c index e4a51b4b54..892c3718f4 100644 --- a/src/or/directory.c +++ b/src/or/directory.c @@ -2604,7 +2604,7 @@ directory_handle_command_get(dir_connection_t *conn, const char *headers, !strcmpstart(url,"/tor/status-vote/next/")) { /* XXXX If-modified-since is only implemented for the current * consensus: that's probably fine, since it's the only vote document - * people fetch much.*/ + * people fetch much. */ int current; ssize_t body_len = 0; ssize_t estimated_len = 0; @@ -2670,7 +2670,7 @@ directory_handle_command_get(dir_connection_t *conn, const char *headers, } }); - if (global_write_bucket_low(TO_CONN(conn), estimated_len, 1)) { + if (global_write_bucket_low(TO_CONN(conn), estimated_len, 2)) { write_http_status_line(conn, 503, "Directory busy, try again later."); goto vote_done; } @@ -2827,7 +2827,7 @@ directory_handle_command_get(dir_connection_t *conn, const char *headers, SMARTLIST_FOREACH(certs, authority_cert_t *, c, len += c->cache_info.signed_descriptor_len); - if (global_write_bucket_low(TO_CONN(conn), compressed?len/2:len, 1)) { + if (global_write_bucket_low(TO_CONN(conn), compressed?len/2:len, 2)) { write_http_status_line(conn, 503, "Directory busy, try again later."); goto keys_done; }