]> git.ipfire.org Git - thirdparty/tor.git/commitdiff
add the other v3 dir bugfixes. my bridge is now working
authorRoger Dingledine <arma@torproject.org>
Sun, 4 Nov 2007 02:36:09 +0000 (02:36 +0000)
committerRoger Dingledine <arma@torproject.org>
Sun, 4 Nov 2007 02:36:09 +0000 (02:36 +0000)
again even when my datadir starts empty. phew.

svn:r12372

ChangeLog
src/or/directory.c
src/or/routerlist.c

index e8434aba0c5aaee6c474f5ec26a9c6d68961e856..3124cdfacf6a7342a9004fc4b2fb2e576c8eeff0 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -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.
index 778632922ff3b0e27615edd4cd2fac65e97c8509..703cb55bca2eaa51f3f5d14d5ca81136bc595e60 100644 (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:
index 93369e157e2442de93a755a8f0740791d75a41e4..4aedb64cca5baa9bdba96057ffdcbec60a5e68a1 100644 (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;
   }