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
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:
- 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
@ -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
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:
- Refuse to start if both ORPort and UseBridges are set. Bugfix
on 0.2.0.x.

View File

@ -670,6 +670,8 @@ directory_initiate_command(const char *address, uint32_t addr,
dir_port)) {
case -1:
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));
return;
case 1:

View File

@ -3911,7 +3911,8 @@ update_router_have_minimum_dir_info(void)
if (should_delay_dir_fetches(get_options())) {
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;
goto done;
}