From 93dbce4ddd98ca9a4ff2f597b165c87410cabd0e Mon Sep 17 00:00:00 2001 From: Nick Mathewson Date: Thu, 16 Nov 2017 08:35:06 -0500 Subject: [PATCH] Log a better message if a router we're re-adding is expired. Addresses ticket 20020. --- changes/ticket20020 | 4 ++++ src/or/routerlist.c | 13 ++++++++++++- 2 files changed, 16 insertions(+), 1 deletion(-) create mode 100644 changes/ticket20020 diff --git a/changes/ticket20020 b/changes/ticket20020 new file mode 100644 index 0000000000..737fb95980 --- /dev/null +++ b/changes/ticket20020 @@ -0,0 +1,4 @@ + o Minor features (logging): + - Improve a warning message that happens when we fail to re-parse + an old router because of an expired certificate. Closes ticket + 20020. diff --git a/src/or/routerlist.c b/src/or/routerlist.c index fb8225e0d6..24c0a4e073 100644 --- a/src/or/routerlist.c +++ b/src/or/routerlist.c @@ -5199,8 +5199,19 @@ update_consensus_router_descriptor_downloads(time_t now, int is_vote, } r = router_add_to_routerlist(ri, &msg, 1, 0); if (WRA_WAS_OUTDATED(r)) { - log_warn(LD_DIR, "Couldn't add re-parsed router: %s", + log_warn(LD_DIR, "Couldn't add re-parsed router: %s. This isn't " + "usually a big deal, but you should make sure that your " + "clock and timezone are set correctly.", msg?msg:"???"); + if (r == ROUTER_CERTS_EXPIRED) { + char time_cons[ISO_TIME_LEN+1]; + char time_cert[ISO_TIME_LEN+1]; + format_iso_time(time_cons, consensus->valid_after); + format_iso_time(time_cert, ri->cert_expiration_time); + log_warn(LD_DIR, " (I'm looking at a consensus from %s; This " + "router's certificates began expiring at %s.)", + time_cons, time_cert); + } } } SMARTLIST_FOREACH_END(sd); routerlist_assert_ok(rl);