[tor-commits] [tor/master] Update entry guard state whenever we download a consensus.

nickm at torproject.org nickm at torproject.org
Thu Oct 26 13:09:02 UTC 2017


commit cbc70437a7318f8e5abef0829ba8e02298ae53e2
Author: George Kadianakis <desnacked at riseup.net>
Date:   Wed Oct 25 19:18:25 2017 +0300

    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
---
 src/or/main.c | 18 +++++++++---------
 1 file changed, 9 insertions(+), 9 deletions(-)

diff --git a/src/or/main.c b/src/or/main.c
index 65b0b8f4d..c340e4128 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)





More information about the tor-commits mailing list