refetch bridge descriptors in a timely fashion

When we configure a new bridge via the controller, don't wait up to ten
seconds before trying to fetch its descriptor. This wasn't so bad when
you listed your bridges in torrc, but it's dreadful if you configure
your bridges via vidalia.
This commit is contained in:
Roger Dingledine 2011-05-16 12:58:44 -04:00
parent bc89ef0ca8
commit 07c5026efa
2 changed files with 7 additions and 2 deletions

4
changes/bug3198 Normal file
View File

@ -0,0 +1,4 @@
o Major bugfixes:
- When we configure a new bridge via the controller, don't wait up
to ten seconds before trying to fetch its descriptor. Bugfix on
0.2.0.3-alpha; fixes bug 3198 (suggested by 2355).

View File

@ -924,8 +924,6 @@ run_scheduled_events(time_t now)
if (time_to_try_getting_descriptors < now) { if (time_to_try_getting_descriptors < now) {
update_router_descriptor_downloads(now); update_router_descriptor_downloads(now);
update_extrainfo_downloads(now); update_extrainfo_downloads(now);
if (options->UseBridges)
fetch_bridge_descriptors(options, now);
if (router_have_minimum_dir_info()) if (router_have_minimum_dir_info())
time_to_try_getting_descriptors = now + LAZY_DESCRIPTOR_RETRY_INTERVAL; time_to_try_getting_descriptors = now + LAZY_DESCRIPTOR_RETRY_INTERVAL;
else else
@ -938,6 +936,9 @@ run_scheduled_events(time_t now)
now + DESCRIPTOR_FAILURE_RESET_INTERVAL; now + DESCRIPTOR_FAILURE_RESET_INTERVAL;
} }
if (options->UseBridges)
fetch_bridge_descriptors(options, now);
/** 1b. Every MAX_SSL_KEY_LIFETIME seconds, we change our TLS context. */ /** 1b. Every MAX_SSL_KEY_LIFETIME seconds, we change our TLS context. */
if (!last_rotated_x509_certificate) if (!last_rotated_x509_certificate)
last_rotated_x509_certificate = now; last_rotated_x509_certificate = now;