Fix bootstrap directory information logging.

`dir_info_status` is used from main.c:directory_info_has_arrived() to
provide useful (INFO/NOTICE) level logging to users, and should always
be updated regardless of the rate limiting.
This commit is contained in:
Yawning Angel
2015-02-18 13:58:13 +00:00
parent 6fdb179d84
commit 8571e86d27
2 changed files with 19 additions and 10 deletions
+5
View File
@@ -8,3 +8,8 @@
- When deciding whether we have any exit nodes, only do processing for
ExitNodes when the ExitNodes option is actually set. Fixes part of
bug 14918; bugfix on 0.2.6.2-alpha.
o Minor bugfixes (logging during bootstrap):
- Correctly update and log the amount of directory information that
has been fetched during the bootstrap process. Fixes part of bug
14918; bugfix on 0.2.6.2-alpha.
+14 -10
View File
@@ -1685,12 +1685,14 @@ update_router_have_minimum_dir_info(void)
static ratelim_t last_warned =
RATELIM_INIT(NOTICE_DIR_INFO_STATUS_INTERVAL);
char *suppression_msg = NULL;
tor_snprintf(dir_info_status, sizeof(dir_info_status),
"We need more %sdescriptors: we have %d/%d, and "
"can only build %d%% of likely paths. (We have %s.)",
using_md?"micro":"", num_present, num_usable,
(int)(paths*100), status);
if ((suppression_msg = rate_limit_log(&last_warned, time(NULL)))) {
tor_snprintf(dir_info_status, sizeof(dir_info_status),
"We need more %sdescriptors: we have %d/%d, and "
"can only build %d%% of likely paths. (We have %s.)",
using_md?"micro":"", num_present, num_usable,
(int)(paths*100), status);
if (!should_delay_dir_fetches(options, NULL) &&
!directory_too_idle_to_fetch_descriptors(options, now)) {
log_warn(LD_NET, "%s%s", dir_info_status, suppression_msg);
@@ -1706,12 +1708,14 @@ update_router_have_minimum_dir_info(void)
static ratelim_t last_warned =
RATELIM_INIT(NOTICE_DIR_INFO_STATUS_INTERVAL);
char *suppression_msg = NULL;
tor_snprintf(dir_info_status, sizeof(dir_info_status),
"We have enough %sdescriptors: we have %d/%d, and "
"can build %d%% of likely paths. (We have %s.)",
using_md?"micro":"", num_present, num_usable,
(int)(paths*100), status);
if ((suppression_msg = rate_limit_log(&last_warned, time(NULL)))) {
tor_snprintf(dir_info_status, sizeof(dir_info_status),
"We have enough %sdescriptors: we have %d/%d, and "
"can build %d%% of likely paths. (We have %s.)",
using_md?"micro":"", num_present, num_usable,
(int)(paths*100), status);
log_info(LD_NET, "%s%s", dir_info_status, suppression_msg);
tor_free(suppression_msg);
}