Improve logging for 28614.

When we fixed 28614, our answer was "if we failed to load the
consensus on windows and it had a CRLF, retry it."  But we logged
the failure at "warn", and we only logged the retry at "info".

Now we log the retry at "notice", with more useful information.

Fixes bug 30004.
This commit is contained in:
Nick Mathewson
2019-04-03 14:30:56 -04:00
parent de76862fd6
commit 5613968d57
2 changed files with 11 additions and 2 deletions
+6
View File
@@ -0,0 +1,6 @@
o Minor bugfixes (logging):
- On Windows, when errors cause us to reload a consensus from disk, tell
the user that we are retrying at log level "notice". Previously we only
logged this information at "info", which was confusing because the
errors themselves were logged at "warning". Improves previous fix for
28614. Fixes bug 30004; bugfix on 0.4.0.2-alpha.
+5 -2
View File
@@ -1761,8 +1761,11 @@ reload_consensus_from_file(const char *fname,
flavor, flags, source_dir);
#ifdef _WIN32
if (rv < 0 && tor_memstr(map->data, map->size, "\r\n")) {
log_info(LD_GENERAL, "Found CRLF in consensus file %s; falling back to "
"read_file_to_string.", escaped(fname));
log_notice(LD_GENERAL, "Looks like the above failures are probably "
"because of a CRLF in consensus file %s; falling back to "
"read_file_to_string. Nothing to worry about: this file "
"was probably saved by an earlier version of Tor.",
escaped(fname));
char *content = read_file_to_str(fname, RFTS_IGNORE_MISSING, NULL);
rv = networkstatus_set_current_consensus(content, strlen(content),
flavor, flags, source_dir);