diff options
author | George Kadianakis <desnacked@riseup.net> | 2017-10-25 19:18:25 +0300 |
---|---|---|
committer | George Kadianakis <desnacked@riseup.net> | 2017-10-26 13:36:04 +0300 |
commit | cbc70437a7318f8e5abef0829ba8e02298ae53e2 (patch) | |
tree | 1e8d46d16772b0af2327cc847ffa6ffed355b984 /src/or/main.c | |
parent | 9592797cf3291fceb7715164e519e02a744c2a25 (diff) | |
download | tor-cbc70437a7318f8e5abef0829ba8e02298ae53e2.tar.gz tor-cbc70437a7318f8e5abef0829ba8e02298ae53e2.zip |
Update entry guard state whenever we download a consensus.
Update guard state even if we don't have enough dirinfo since that
actually affects the future download of dirinfos.
Fixes #23862 on 0.3.0.1-alpha
Diffstat (limited to 'src/or/main.c')
-rw-r--r-- | src/or/main.c | 18 |
1 files changed, 9 insertions, 9 deletions
diff --git a/src/or/main.c b/src/or/main.c index 65b0b8f4df..c340e4128b 100644 --- a/src/or/main.c +++ b/src/or/main.c @@ -971,6 +971,15 @@ directory_info_has_arrived(time_t now, int from_cache, int suppress_logs) { const or_options_t *options = get_options(); + /* if we have enough dir info, then update our guard status with + * whatever we just learned. */ + int invalidate_circs = guards_update_all(); + + if (invalidate_circs) { + circuit_mark_all_unused_circs(); + circuit_mark_all_dirty_circs_as_unusable(); + } + if (!router_have_minimum_dir_info()) { int quiet = suppress_logs || from_cache || directory_too_idle_to_fetch_descriptors(options, now); @@ -984,15 +993,6 @@ directory_info_has_arrived(time_t now, int from_cache, int suppress_logs) update_all_descriptor_downloads(now); } - /* if we have enough dir info, then update our guard status with - * whatever we just learned. */ - int invalidate_circs = guards_update_all(); - - if (invalidate_circs) { - circuit_mark_all_unused_circs(); - circuit_mark_all_dirty_circs_as_unusable(); - } - /* Don't even bother trying to get extrainfo until the rest of our * directory info is up-to-date */ if (options->DownloadExtraInfo) |