summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRoger Dingledine <arma@torproject.org>2009-03-31 01:29:07 +0000
committerRoger Dingledine <arma@torproject.org>2009-03-31 01:29:07 +0000
commit793f1ce007e978ad961a3dea0fda32299cb47e5b (patch)
treeebbc17efde65b1c1bf2ed743174fb9fbfa4825b1
parentb949871a1e1a73ed2200cd94d7f8749cd512d8ba (diff)
downloadtor-793f1ce007e978ad961a3dea0fda32299cb47e5b.tar.gz
tor-793f1ce007e978ad961a3dea0fda32299cb47e5b.zip
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
-rw-r--r--ChangeLog5
-rw-r--r--src/or/directory.c6
2 files changed, 7 insertions, 4 deletions
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;
}