From: Roger Dingledine Date: Mon, 5 Jan 2009 18:54:11 +0000 (+0000) Subject: Bridge relays that had DirPort set to 0 would stop fetching X-Git-Tag: tor-0.2.1.10-alpha~14 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=e3388230c4c02c3fd83e38a87785ae815851578c;p=thirdparty%2Ftor.git 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 --- diff --git a/ChangeLog b/ChangeLog index a3a180ffcf..160acb9350 100644 --- a/ChangeLog +++ b/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 diff --git a/src/or/dirserv.c b/src/or/dirserv.c index 00ebf5d14a..eff0a380dc 100644 --- a/src/or/dirserv.c +++ b/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); }