Browse Source

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 16 years ago
parent
commit
e3388230c4
2 changed files with 9 additions and 1 deletions
  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
       practice it just means we spend many minutes trying directory
       mirrors that are long gone from the network. Helps bug 887 a bit;
       mirrors that are long gone from the network. Helps bug 887 a bit;
       bugfix on 0.2.0.x.
       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:
   o Minor features:
     - New controller event "clients_seen" to report a geoip-based summary
     - 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
 int
 directory_too_idle_to_fetch_descriptors(or_options_t *options, time_t now)
 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);
          rep_hist_circbuilding_dormant(now);
 }
 }