Merge remote-tracking branch 'public/bug9870'

Conflicts:
	src/or/config.c
This commit is contained in:
Nick Mathewson 2014-04-01 20:48:15 -04:00
commit b4b91864bb
2 changed files with 30 additions and 13 deletions

5
changes/bug9870 Normal file
View File

@ -0,0 +1,5 @@
o Minor bugfixes:
- Log only one message when we start logging in an unsafe
way. Previously, we would log as many messages as we had
problems. Fix for #9870; bugfix on 0.2.5.1-alpha.

View File

@ -1149,12 +1149,31 @@ options_act_reversible(const or_options_t *old_options, char **msg)
tor_free(severity);
tor_log_update_sigsafe_err_fds();
}
if (get_min_log_level() >= LOG_INFO &&
get_min_log_level() != old_min_log_level) {
log_warn(LD_GENERAL, "Your log may contain sensitive information: you're "
"logging more than \"notice\". Please log safely. Don't log "
"unless it serves an important reason, and overwrite the log "
"afterwards.");
{
const char *badness = NULL;
int bad_safelog = 0, bad_severity = 0, new_badness = 0;
if (options->SafeLogging_ != SAFELOG_SCRUB_ALL) {
bad_safelog = 1;
if (!old_options || old_options->SafeLogging_ != options->SafeLogging_)
new_badness = 1;
}
if (get_min_log_level() >= LOG_INFO) {
bad_severity = 1;
if (get_min_log_level() != old_min_log_level)
new_badness = 1;
}
if (bad_safelog && bad_severity)
badness = "you disabled SafeLogging, and "
"you're logging more than \"notice\"";
else if (bad_safelog)
badness = "you disabled SafeLogging";
else
badness = "you're logging more than \"notice\"";
if (new_badness)
log_warn(LD_GENERAL, "Your log may contain sensitive information - %s. "
"Don't log unless it serves an important reason. "
"Overwrite the log afterwards.", badness);
}
SMARTLIST_FOREACH(replaced_listeners, connection_t *, conn,
@ -1355,13 +1374,6 @@ options_act(const or_options_t *old_options)
"(e.g. set 'ExtORPort auto').");
}
if (options->SafeLogging_ != SAFELOG_SCRUB_ALL &&
(!old_options || old_options->SafeLogging_ != options->SafeLogging_)) {
log_warn(LD_GENERAL, "Your log may contain sensitive information - you "
"disabled SafeLogging. Please log safely. Don't log unless it "
"serves an important reason. Overwrite the log afterwards.");
}
if (options->Bridges) {
mark_bridge_list();
for (cl = options->Bridges; cl; cl = cl->next) {