summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorNick Mathewson <nickm@torproject.org>2015-07-14 11:33:35 -0400
committerNick Mathewson <nickm@torproject.org>2015-07-14 11:33:35 -0400
commit8596ccce017c4ccb26d78235e383fa4289220338 (patch)
treedcfefe9ca61d28823990353d9a41e6b3c415c80a
parentb06759edfda17205b8a027b2a369abefcaaba4fc (diff)
downloadtor-8596ccce017c4ccb26d78235e383fa4289220338.tar.gz
tor-8596ccce017c4ccb26d78235e383fa4289220338.zip
Change the name for the keypinning file; delete the old one if found
This is a brute-force fix for #16580, wherein #16530 caused some routers to do bad things with the old keypinning journal.
-rw-r--r--src/or/main.c13
1 files changed, 12 insertions, 1 deletions
diff --git a/src/or/main.c b/src/or/main.c
index af77f28dfd..fe93cdc12d 100644
--- a/src/or/main.c
+++ b/src/or/main.c
@@ -2034,7 +2034,7 @@ do_main_loop(void)
/* Initialize the keypinning log. */
if (authdir_mode_v3(get_options())) {
- char *fname = get_datadir_fname("key-pinning-entries");
+ char *fname = get_datadir_fname("key-pinning-journal");
int r = 0;
if (keypin_load_journal(fname)<0) {
log_err(LD_DIR, "Error loading key-pinning journal: %s",strerror(errno));
@@ -2048,6 +2048,17 @@ do_main_loop(void)
if (r)
return r;
}
+ {
+ /* This is the old name for key-pinning-journal. These got corrupted
+ * in a couple of cases by #16530, so we started over. See #16580 for
+ * the rationale and for other options we didn't take. We can remove
+ * this code once all the authorities that ran 0.2.7.1-alpha-dev are
+ * upgraded.
+ */
+ char *fname = get_datadir_fname("key-pinning-entries");
+ unlink(fname);
+ tor_free(fname);
+ }
if (trusted_dirs_reload_certs()) {
log_warn(LD_DIR,