From: Nick Mathewson Date: Tue, 20 May 2014 20:57:47 +0000 (-0400) Subject: Postpone fetches based on should_delay_dir_fetch(), not DisableNetwork X-Git-Tag: tor-0.2.5.5-alpha~40^2 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=802c063148e7aaf62e9f07ee5043a7451a888b82;p=thirdparty%2Ftor.git 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. --- 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);