Rename a verified unverified-consensus to cached-consensus on the disk

- Fixes ticket #4187
- Change the name of a unverified-*consensus to cached-*consensus
on disk when it has been verified.
This commit is contained in:
Deepesh Pathak 2018-02-03 06:45:52 +05:30
parent 953c769a86
commit 1c8f55310f
No known key found for this signature in database
GPG Key ID: D9AA53BEC9C33F71
2 changed files with 13 additions and 1 deletions

3
changes/ticket4187 Normal file
View File

@ -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

View File

@ -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);
@ -1928,6 +1928,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");