Преглед изворни кода

r9723@catbus: nickm | 2007-01-22 15:47:17 -0500
Fix an XXXX012 in routerlist.c: when we do not have enough networkstatuses to launch router requests, do not launch router requests. Backport candidate.


svn:r9388

Nick Mathewson пре 17 година
родитељ
комит
adc5bb4d04
2 измењених фајлова са 5 додато и 1 уклоњено
  1. 4 0
      ChangeLog
  2. 1 1
      src/or/routerlist.c

+ 4 - 0
ChangeLog

@@ -39,6 +39,10 @@ Changes in version 0.1.2.7-alpha - 2007-??-??
       correct order.
     - Free memory held in recently-completed DNS lookup attempts on exit.
       This was not a memory leak, but may have been hiding memory leaks.
+    - Don't launch requests for descriptors unless we have networkstatuses
+      from at least half of the authorities.  This delays the first download
+      slightly under pathological circumstances, but can prevent us from
+      downloading a bunch of descriptors we don't need.
 
   o Minor features:
     - Check for addresses with invalid characters at the exit as well as at

+ 1 - 1
src/or/routerlist.c

@@ -3765,7 +3765,7 @@ update_router_descriptor_client_downloads(time_t now)
       smartlist_len(networkstatus_list) <= get_n_v2_authorities()/2) {
     log_info(LD_DIR,
              "Not enough networkstatus documents to launch requests.");
-    /* XXX012 should we return here or something? */
+    return;
   }
 
   downloadable = router_list_client_downloadable();