Commit 24a45f54 authored by Nick Mathewson's avatar Nick Mathewson 🌊
Browse files

Merge branch 'bug1805' into maint-0.2.2

parents 1cbdbff9 9c8fb75e
Loading
Loading
Loading
Loading

changes/bug1805

0 → 100644
+4 −0
Original line number Diff line number Diff line
  o Minor bugfixes:
    - Make sure we don't warn about not having bandwidth weights when
      choosing bridges or other relays not in the consensus. Bugfix
      on 0.2.2.10-alpha; fixes bug 1805.
+7 −3
Original line number Diff line number Diff line
@@ -1610,6 +1610,7 @@ smartlist_choose_by_bandwidth_weights(smartlist_t *sl,
  double *bandwidths;
  double tmp = 0;
  unsigned int i;
  int have_unknown = 0; /* true iff sl contains element not in consensus. */

  /* Can't choose exit and guard at same time */
  tor_assert(rule == NO_WEIGHTING ||
@@ -1726,6 +1727,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;
@@ -1756,6 +1758,8 @@ smartlist_choose_by_bandwidth_weights(smartlist_t *sl,

  /* If there is no bandwidth, choose at random */
  if (DBL_TO_U64(weighted_bw) == 0) {
    /* Don'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));