From 9e6064ec359a170ab37fb5d66ef7c46519ac1caa Mon Sep 17 00:00:00 2001 From: Roger Dingledine Date: Sat, 16 Jan 2021 16:23:31 -0500 Subject: [PATCH] dir auths write consensuses to disk after creation This step happens after we make each consensus flavor, and before we worry about sigs or anything. That way if Tor crashes, or if we fail to get enough sigs, we still have a chance to know what consensus we wanted to make. --- src/feature/dirauth/dirvote.c | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/src/feature/dirauth/dirvote.c b/src/feature/dirauth/dirvote.c index 6824af815f..cf1135ba37 100644 --- a/src/feature/dirauth/dirvote.c +++ b/src/feature/dirauth/dirvote.c @@ -3462,6 +3462,15 @@ dirvote_compute_consensuses(void) pending[flav].body = consensus_body; pending[flav].consensus = consensus; n_generated++; + + /* Write it out to disk too, for dir auth debugging purposes */ + { + char *filename; + tor_asprintf(&filename, "my-consensus-%s", flavor_name); + write_str_to_file(get_datadir_fname(filename), consensus_body, 0); + tor_free(filename); + } + consensus_body = NULL; consensus = NULL; }