mirror of
https://gitlab.torproject.org/tpo/core/tor.git
synced 2024-11-27 22:03:31 +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:
|
o Minor bugfixes:
|
||||||
- Avoid trying to print raw memory to the logs when we decide to
|
- Avoid trying to print raw memory to the logs when we decide to
|
||||||
give up on downloading a given relay descriptor. Bugfix on
|
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
|
duplicating a string at the end of a page. This bug was
|
||||||
harmless for now, but could have meant crashes later. Fix by
|
harmless for now, but could have meant crashes later. Fix by
|
||||||
lark. Bugfix on 0.2.1.1-alpha.
|
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):
|
o Minor features (controller):
|
||||||
- Try harder to look up nicknames for routers on a circuit when
|
- 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/")) {
|
!strcmpstart(url,"/tor/status-vote/next/")) {
|
||||||
/* XXXX If-modified-since is only implemented for the current
|
/* XXXX If-modified-since is only implemented for the current
|
||||||
* consensus: that's probably fine, since it's the only vote document
|
* consensus: that's probably fine, since it's the only vote document
|
||||||
* people fetch much.*/
|
* people fetch much. */
|
||||||
int current;
|
int current;
|
||||||
ssize_t body_len = 0;
|
ssize_t body_len = 0;
|
||||||
ssize_t estimated_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.");
|
write_http_status_line(conn, 503, "Directory busy, try again later.");
|
||||||
goto vote_done;
|
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,
|
SMARTLIST_FOREACH(certs, authority_cert_t *, c,
|
||||||
len += c->cache_info.signed_descriptor_len);
|
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.");
|
write_http_status_line(conn, 503, "Directory busy, try again later.");
|
||||||
goto keys_done;
|
goto keys_done;
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user