Ver código fonte

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
Alexander Færøy 7 anos atrás
pai
commit
ae33deb91d
1 arquivos alterados com 4 adições e 1 exclusões
  1. 4 1
      src/or/directory.c

+ 4 - 1
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) {