diff options
author | Sebastian Hahn <sebastian@torproject.org> | 2010-09-05 07:43:03 +0200 |
---|---|---|
committer | Sebastian Hahn <sebastian@torproject.org> | 2010-09-06 18:44:11 +0200 |
commit | 303beead53c24cfc2b48a0873950f46beb6d8e58 (patch) | |
tree | f069c16a90fff75a2fbfa0464c91268a01e356ba /src/or | |
parent | 20817403173dcd2f8128c9c8b14491117cdc40b6 (diff) | |
download | tor-303beead53c24cfc2b48a0873950f46beb6d8e58.tar tor-303beead53c24cfc2b48a0873950f46beb6d8e58.tar.gz |
Kill warn when picking bridges without bw weight
Bridges and other relays not included in the consensus don't
necessarily have a non-zero bandwidth capacity. If all our
configured bridges had a zero bw capacity we would warn the
user. Change that.
Diffstat (limited to 'src/or')
-rw-r--r-- | src/or/routerlist.c | 10 |
1 files changed, 7 insertions, 3 deletions
diff --git a/src/or/routerlist.c b/src/or/routerlist.c index 8808f56db..a153bc178 100644 --- a/src/or/routerlist.c +++ b/src/or/routerlist.c @@ -1586,6 +1586,7 @@ smartlist_choose_by_bandwidth_weights(smartlist_t *sl, double *bandwidths; double tmp = 0; unsigned int i; + int have_unknown = 0; /**< sl contains element not in consensus. */ /* Can't choose exit and guard at same time */ tor_assert(rule == NO_WEIGHTING || @@ -1702,6 +1703,7 @@ smartlist_choose_by_bandwidth_weights(smartlist_t *sl, this_bw = kb_to_bytes(rs->bandwidth); } else { /* bridge or other descriptor not in our consensus */ this_bw = router_get_advertised_bandwidth_capped(router); + have_unknown = 1; } if (router_digest_is_me(router->cache_info.identity_digest)) is_me = 1; @@ -1732,9 +1734,11 @@ smartlist_choose_by_bandwidth_weights(smartlist_t *sl, /* If there is no bandwidth, choose at random */ if (DBL_TO_U64(weighted_bw) == 0) { - log_warn(LD_CIRC, - "Weighted bandwidth is %lf in node selection for rule %s", - weighted_bw, bandwidth_weight_rule_to_string(rule)); + /* Dont't warn when using bridges/relays not in the consensus */ + if (!have_unknown) + log_warn(LD_CIRC, + "Weighted bandwidth is %lf in node selection for rule %s", + weighted_bw, bandwidth_weight_rule_to_string(rule)); tor_free(bandwidths); return smartlist_choose(sl); } |