tor

The Tor anonymity network
git clone https://git.dasho.dev/tor.git
Log | Files | Refs | README | LICENSE

commit 3beb3dac2db492df1686abd1d2c047d5ee6cddcc
parent f755f9b9e67232d9d39682cbcdf4433ac738e17a
Author: Nick Mathewson <nickm@torproject.org>
Date:   Mon,  6 Nov 2017 09:49:06 -0500

Merge branch 'maint-0.3.2'

Diffstat:
Achanges/bug23318 | 7+++++++
Msrc/or/routerlist.c | 2+-
2 files changed, 8 insertions(+), 1 deletion(-)

diff --git a/changes/bug23318 b/changes/bug23318 @@ -0,0 +1,7 @@ + o Minor bugfixes (path selection): + - When selecting relays by bandwidth, avoid a rounding error that + could sometimes cause load to be imbalanced incorrectly. Previously, + we would always round upwards; now, we round towards the nearest + integer. This had the biggest effect when a relay's weight adjustments + should have given it weight 0, but it got weight 1 instead. + Fixes bug 23318; bugfix on 0.2.4.3-alpha. diff --git a/src/or/routerlist.c b/src/or/routerlist.c @@ -2706,7 +2706,7 @@ compute_weighted_bandwidths(const smartlist_t *sl, final_weight = weight*this_bw; } - bandwidths[node_sl_idx] = final_weight + 0.5; + bandwidths[node_sl_idx] = final_weight; } SMARTLIST_FOREACH_END(node); log_debug(LD_CIRC, "Generated weighted bandwidths for rule %s based "