add the other v3 dir bugfixes. my bridge is now working

again even when my datadir starts empty. phew.


svn:r12372
This commit is contained in:
Roger Dingledine 2007-11-04 02:36:09 +00:00
parent 928c584ec2
commit 735498cb27
3 changed files with 16 additions and 6 deletions

View File

@ -18,6 +18,18 @@ Changes in version 0.2.0.10-alpha - 2007-11-0?
maybe in other situations too). Bugfix on 0.2.0.9-alpha; reported maybe in other situations too). Bugfix on 0.2.0.9-alpha; reported
by Fabian Keil. by Fabian Keil.
o Major bugfixes (v3 dir, bugfixes on 0.2.0.9-alpha):
- Consider replacing the current consensus when certificates arrive
that make the pending consensus valid. Previously, we were only
considering replacement when the new certs _didn't_ help.
- Fix an assert error on startup if we didn't already have the
consensus and certs cached in our datadirectory: we were caching
the consensus in consensus_waiting_for_certs but then free'ing it
right after.
- Avoid sending a request for "keys/fp" (for which we'll get a 400 Bad
Request) if we need more v3 certs but we've already got pending
requests for all of them.
o New requirements: o New requirements:
- Drop support for OpenSSL version 0.9.6. Just about nobody was using - Drop support for OpenSSL version 0.9.6. Just about nobody was using
it, it had no AES, and it hasn't seen any security patches since it, it had no AES, and it hasn't seen any security patches since
@ -67,11 +79,6 @@ Changes in version 0.2.0.10-alpha - 2007-11-0?
the Tor process. Patch from Marco Bonetti with tweaks from Mike the Tor process. Patch from Marco Bonetti with tweaks from Mike
Perry. Perry.
o Major bugfixes:
- Consider replace the current consensus when certificates arrive
that make the pending consensus valid. Previously, we were only
considering replacement when the new certs _didn't_ help.
o Minor bugfixes: o Minor bugfixes:
- Refuse to start if both ORPort and UseBridges are set. Bugfix - Refuse to start if both ORPort and UseBridges are set. Bugfix
on 0.2.0.x. on 0.2.0.x.

View File

@ -670,6 +670,8 @@ directory_initiate_command(const char *address, uint32_t addr,
dir_port)) { dir_port)) {
case -1: case -1:
connection_dir_request_failed(conn); /* retry if we want */ connection_dir_request_failed(conn); /* retry if we want */
/* XXX we only pass 'conn' above, not 'resource', 'payload',
* etc. So in many situations it can't retry! -RD */
connection_free(TO_CONN(conn)); connection_free(TO_CONN(conn));
return; return;
case 1: case 1:

View File

@ -3911,7 +3911,8 @@ update_router_have_minimum_dir_info(void)
if (should_delay_dir_fetches(get_options())) { if (should_delay_dir_fetches(get_options())) {
log_notice(LD_DIR, "no known bridge descriptors running yet; stalling"); log_notice(LD_DIR, "no known bridge descriptors running yet; stalling");
strlcpy(dir_info_status, "No bridge descriptors.",sizeof(dir_info_status)); strlcpy(dir_info_status, "No live bridge descriptors.",
sizeof(dir_info_status));
res = 0; res = 0;
goto done; goto done;
} }