Postpone fetches based on should_delay_dir_fetch(), not DisableNetwork

Without this fix, when running with bridges, we would try fetching
directory info far too early, and have up to a 60 second delay if we
started with bridge descriptors available.

Fixes bug 11965. Fix on 0.2.3.6-alpha, arma thinks.
This commit is contained in:
Nick Mathewson
2014-05-20 16:57:47 -04:00
parent fef65fa643
commit 802c063148
2 changed files with 10 additions and 2 deletions
+6
View File
@@ -0,0 +1,6 @@
o Minor bugfixes:
- Avoid another 60-second delay when starting Tor in a
pluggable-transport-using configuration when we already have
cached descriptors for our bridges. Fixes bug 11965; bugfix on
0.2.3.6-alpha.
+4 -2
View File
@@ -1231,7 +1231,8 @@ run_scheduled_events(time_t now)
router_upload_dir_desc_to_dirservers(0);
}
if (!options->DisableNetwork && time_to_try_getting_descriptors < now) {
if (!should_delay_dir_fetches(options, NULL) &&
time_to_try_getting_descriptors < now) {
update_all_descriptor_downloads(now);
update_extrainfo_downloads(now);
if (router_have_minimum_dir_info())
@@ -1461,7 +1462,8 @@ run_scheduled_events(time_t now)
* documents? */
#define networkstatus_dl_check_interval(o) ((o)->TestingTorNetwork ? 1 : 60)
if (time_to_download_networkstatus < now && !options->DisableNetwork) {
if (!should_delay_dir_fetches(options, NULL) &&
time_to_download_networkstatus < now) {
time_to_download_networkstatus =
now + networkstatus_dl_check_interval(options);
update_networkstatus_downloads(now);