purpose != CIRCUIT_PURPOSE_S_ESTABLISH_INTRO)
routelen++;
- log_debug(LD_CIRC,"Chosen route length %d (%d routers available).",
- routelen, smartlist_len(routers));
-
num_acceptable_routers = count_acceptable_routers(routers);
+ log_debug(LD_CIRC,"Chosen route length %d (%d/%d routers available).",
+ routelen, num_acceptable_routers, smartlist_len(routers));
+
if (num_acceptable_routers < 2) {
log_info(LD_CIRC,
"Not enough acceptable routers (%d). Discarding this circuit.",
{
tor_snprintf(buf, sizeof(buf), "%s (%s%s)",
e->nickname,
- e->bad_since ? "down " : "up ",
+ entry_is_live(e, 0, 1, 0) ? "up " : "down ",
e->made_contact ? "made-contact" : "never-contacted");
smartlist_add(elements, tor_strdup(buf));
});
log_info(LD_CIRC, "Summary: Entry '%s' is %s, %s, and %s.",
entry->nickname,
entry->unreachable_since ? "unreachable" : "reachable",
- entry->bad_since ? "unusable: " : "usable",
+ entry->bad_since ? "unusable" : "usable",
entry_is_live(entry, 0, 1, 0) ? "live" : "not live"));
log_info(LD_CIRC, " (%d/%d entry guards are usable/new)",
num_live_entry_guards(), smartlist_len(entry_guards));
router = router_get_by_digest(digest);
if (router) {
- log_debug(LD_DIR,"Marking router '%s' as %s.",
- router->nickname, up ? "up" : "down");
+ log_debug(LD_DIR,"Marking router '%s/%s' as %s.",
+ router->nickname, router->address, up ? "up" : "down");
if (!up && router_is_me(router) && !we_are_hibernating())
log_warn(LD_NET, "We just marked ourself as down. Are your external "
"addresses reachable?");
}
if (!res && have_min_dir_info) {
log(LOG_NOTICE, LD_DIR,"Our directory information is no longer up-to-date "
- "enough to build circuits.%s",
- num_running > 2 ? "" : " (Not enough servers seem reachable -- "
- "is your network connection down?)");
+ "enough to build circuits: %s", dir_info_status);
control_event_client_status(LOG_NOTICE, "NOT_ENOUGH_DIR_INFO");
}
have_min_dir_info = res;