From 802c063148e7aaf62e9f07ee5043a7451a888b82 Mon Sep 17 00:00:00 2001 From: Nick Mathewson Date: Tue, 20 May 2014 16:57:47 -0400 Subject: [PATCH] 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. --- changes/bug11965 | 6 ++++++ src/or/main.c | 6 ++++-- 2 files changed, 10 insertions(+), 2 deletions(-) create mode 100644 changes/bug11965 diff --git a/changes/bug11965 b/changes/bug11965 new file mode 100644 index 0000000000..a3bfd876b5 --- /dev/null +++ b/changes/bug11965 @@ -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. diff --git a/src/or/main.c b/src/or/main.c index 025b5192b5..6f6066a936 100644 --- a/src/or/main.c +++ b/src/or/main.c @@ -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);