commit df9d2de44119e09e8fc485c6ff57ca01c226abd1
parent 338dbdab93328e00b5e80934ce0352bebaf9ce25
Author: Nick Mathewson <nickm@torproject.org>
Date: Sat, 3 Mar 2018 12:02:30 -0500
Merge remote-tracking branch 'fristonio/ticket4187'
Diffstat:
2 files changed, 13 insertions(+), 1 deletion(-)
diff --git a/changes/ticket4187 b/changes/ticket4187
@@ -0,0 +1,3 @@
+ o Minor bugfix (rename verfied unverified consensus):
+ - Rename a verified unverfied consensus to cached-consenus on the disk.
+ Fixes bug 4187; bugfix on 0.3.3.0-alpha
diff --git a/src/or/networkstatus.c b/src/or/networkstatus.c
@@ -237,7 +237,7 @@ router_reload_consensus_networkstatus(void)
s = networkstatus_read_cached_consensus_impl(flav, flavor, 1);
if (s) {
if (networkstatus_set_current_consensus(s, flavor,
- flags|NSSET_WAS_WAITING_FOR_CERTS,
+ flags | NSSET_WAS_WAITING_FOR_CERTS,
NULL)) {
log_info(LD_FS, "Couldn't load unverified consensus %s networkstatus "
"from cache", flavor);
@@ -1917,6 +1917,15 @@ networkstatus_set_current_consensus(const char *consensus,
}
}
+ /* Signatures from the consensus are verified */
+ if (from_cache && was_waiting_for_certs) {
+ /* We check if the consensus is loaded from disk cache and that it
+ * it is an unverified consensus. If it is unverified, rename it to
+ * cached-*-consensus since it has been verified. */
+ log_info(LD_DIR, "Unverified consensus signatures verified.");
+ tor_rename(unverified_fname, consensus_fname);
+ }
+
if (!from_cache && flav == usable_consensus_flavor())
control_event_client_status(LOG_NOTICE, "CONSENSUS_ARRIVED");