mirror of
https://gitlab.torproject.org/tpo/core/tor.git
synced 2024-12-06 19:41:15 +01:00
don't div by 0 during path selection
This commit is contained in:
@@ -1,4 +1,4 @@
|
||||
Changes in version 0.2.2.7-alpha - 2009-12-??
|
||||
Changes in version 0.2.2.7-alpha - 2010-01-??
|
||||
o Major features (performance):
|
||||
- When choosing which cells to relay first, we can now favor circuits
|
||||
that have been quiet recently, so as to get lower latency for
|
||||
@@ -67,6 +67,10 @@ Changes in version 0.2.2.7-alpha - 2009-12-??
|
||||
- Fix statistics on client numbers by country as seen by bridges that
|
||||
were broken in 0.2.2.1-alpha. Also switch to reporting full 24-hour
|
||||
intervals instead of variable 12-to-48-hour intervals.
|
||||
- If we're in the pathological case where there's no exit bandwidth
|
||||
but there is non-exit bandwidth, or no guard bandwidth but there
|
||||
is non-guard bandwidth, don't crash during path selection. Bugfix
|
||||
on 0.2.0.3-alpha.
|
||||
|
||||
o Removed features:
|
||||
- Remove the HSAuthorityRecordStats option that version 0 hidden
|
||||
|
||||
+2
-2
@@ -1698,12 +1698,12 @@ smartlist_choose_by_bandwidth(smartlist_t *sl, bandwidth_weight_rule_t rule,
|
||||
* For detailed derivation of this formula, see
|
||||
* http://archives.seul.org/or/dev/Jul-2007/msg00056.html
|
||||
*/
|
||||
if (rule == WEIGHT_FOR_EXIT)
|
||||
if (rule == WEIGHT_FOR_EXIT || !total_exit_bw)
|
||||
exit_weight = 1.0;
|
||||
else
|
||||
exit_weight = 1.0 - all_bw/(3.0*exit_bw);
|
||||
|
||||
if (rule == WEIGHT_FOR_GUARD)
|
||||
if (rule == WEIGHT_FOR_GUARD || !total_guard_bw)
|
||||
guard_weight = 1.0;
|
||||
else
|
||||
guard_weight = 1.0 - all_bw/(3.0*guard_bw);
|
||||
|
||||
Reference in New Issue
Block a user