From: Nick Mathewson Date: Tue, 14 Jul 2015 15:33:35 +0000 (-0400) Subject: Change the name for the keypinning file; delete the old one if found X-Git-Tag: tor-0.2.7.2-alpha~25^2 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=8596ccce017c4ccb26d78235e383fa4289220338;p=thirdparty%2Ftor.git 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. --- 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,