Don't initialize desc stats for non-bridgedirauth nodes

Also make sure that calling rep_hist_note_desc_served() while stats
aren't initialized just returns.

Bug spotted by SwissTorHelp. Thanks!
This commit is contained in:
Sebastian Hahn 2011-10-24 12:51:00 +02:00
parent 2e295ae46e
commit f885c60501
2 changed files with 4 additions and 1 deletions

View File

@ -1578,7 +1578,8 @@ options_act(const or_options_t *old_options)
options->ConnDirectionStatistics) {
rep_hist_conn_stats_init(now);
}
if (!old_options || !old_options->BridgeAuthoritativeDir) {
if ((!old_options || !old_options->BridgeAuthoritativeDir) &&
options->BridgeAuthoritativeDir) {
rep_hist_desc_stats_init(now);
print_notice = 1;
}

View File

@ -2712,6 +2712,8 @@ rep_hist_desc_stats_write(time_t now)
void
rep_hist_note_desc_served(const char * desc)
{
if (!served_descs)
return; // We're not collecting stats
digestmap_set(served_descs, desc, (void *)1);
total_descriptor_downloads++;
}