mirror of
https://gitlab.torproject.org/tpo/core/tor.git
synced 2024-11-20 10:12:15 +01:00
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
This commit is contained in:
parent
b949871a1e
commit
793f1ce007
@ -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
|
||||
|
@ -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;
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user