[tor-commits] [tor/master] Check for best consensus when no consensusdiff was found.

nickm at torproject.org nickm at torproject.org
Mon May 15 21:26:29 UTC 2017


commit ae33deb91d204da0689f182a0899f9f11a5bb77a
Author: Alexander Færøy <ahf at torproject.org>
Date:   Mon May 15 12:09:07 2017 +0200

    Check for best consensus when no consensusdiff was found.
    
    This patch ensures that we use the current consensus in the case where
    no consensus diff was found or a consensus diff wasn't requested.
    
    See: https://bugs.torproject.org/21667
---
 src/or/directory.c | 5 ++++-
 1 file changed, 4 insertions(+), 1 deletion(-)

diff --git a/src/or/directory.c b/src/or/directory.c
index 4fa4b3c..8ed1305 100644
--- a/src/or/directory.c
+++ b/src/or/directory.c
@@ -3815,11 +3815,14 @@ handle_get_current_consensus(dir_connection_t *conn,
                                       &compression_used);
     SMARTLIST_FOREACH(diff_from_digests, uint8_t *, d, tor_free(d));
     smartlist_free(diff_from_digests);
-  } else {
+  }
+
+  if (! cached_consensus) {
     cached_consensus = find_best_consensus(flav,
                                            args->compression_supported,
                                            &compression_used);
   }
+
   time_t fresh_until, valid_until;
   int have_fresh_until = 0, have_valid_until = 0;
   if (cached_consensus) {





More information about the tor-commits mailing list