Explorar o código

Bridge relays that had DirPort set to 0 would stop fetching
descriptors shortly after startup, and then briefly resume
after a new bandwidth test and/or after publishing a new bridge
descriptor. Bridge users that try to bootstrap from them would
get a recent networkstatus but would get descriptors from up to
18 hours earlier, meaning most of the descriptors were obsolete
already. Reported by Tas; bugfix on 0.2.0.13-alpha.


svn:r17920

Roger Dingledine %!s(int64=15) %!d(string=hai) anos
pai
achega
e3388230c4
Modificáronse 2 ficheiros con 9 adicións e 1 borrados
  1. 7 0
      ChangeLog
  2. 2 1
      src/or/dirserv.c

+ 7 - 0
ChangeLog

@@ -6,6 +6,13 @@ Changes in version 0.2.1.10-alpha - 2009-01-??
       practice it just means we spend many minutes trying directory
       mirrors that are long gone from the network. Helps bug 887 a bit;
       bugfix on 0.2.0.x.
+    - Bridge relays that had DirPort set to 0 would stop fetching
+      descriptors shortly after startup, and then briefly resume
+      after a new bandwidth test and/or after publishing a new bridge
+      descriptor. Bridge users that try to bootstrap from them would
+      get a recent networkstatus but would get descriptors from up to
+      18 hours earlier, meaning most of the descriptors were obsolete
+      already. Reported by Tas; bugfix on 0.2.0.13-alpha.
 
   o Minor features:
     - New controller event "clients_seen" to report a geoip-based summary

+ 2 - 1
src/or/dirserv.c

@@ -1215,7 +1215,8 @@ directory_permits_controller_requests(or_options_t *options)
 int
 directory_too_idle_to_fetch_descriptors(or_options_t *options, time_t now)
 {
-  return !options->DirPort && !options->FetchUselessDescriptors &&
+  return !directory_caches_dir_info(options) &&
+         !options->FetchUselessDescriptors &&
          rep_hist_circbuilding_dormant(now);
 }