aboutsummaryrefslogtreecommitdiff
path: root/changes
diff options
context:
space:
mode:
authorNick Mathewson <nickm@torproject.org>2012-09-11 17:51:36 -0400
committerNick Mathewson <nickm@torproject.org>2012-09-11 17:51:36 -0400
commit75c9ccd4f851bac6d32cb08ded557ac207bc8002 (patch)
tree0edd289ca5453ebfad30d52bc55665bad1e76fe0 /changes
parentb8f93c5dd7a069c9e5ac3469d067a31c3992fa25 (diff)
parent9982122f3448293e80adf83cb28c7ab66bc04da9 (diff)
downloadtor-75c9ccd4f851bac6d32cb08ded557ac207bc8002.tar
tor-75c9ccd4f851bac6d32cb08ded557ac207bc8002.tar.gz
Merge remote-tracking branch 'public/bug6538'
Conflicts: configure.ac
Diffstat (limited to 'changes')
-rw-r--r--changes/bug653816
1 files changed, 16 insertions, 0 deletions
diff --git a/changes/bug6538 b/changes/bug6538
new file mode 100644
index 000000000..03c168b60
--- /dev/null
+++ b/changes/bug6538
@@ -0,0 +1,16 @@
+ o Minor bugfixes:
+ - Switch weighted node selection rule from using a list of doubles
+ to using a list of int64_t. This should make the process slightly
+ easier to debug and maintain. Needed for fix for bug 6538.
+
+ o Security features:
+ - Switch to a completely time-invariant approach for picking nodes
+ weighted by bandwidth. Our old approach would run through the
+ part of the loop after it had made its choice slightly slower
+ than it ran through the part of the loop before it had made its
+ choice. Fix for bug 6538.
+
+ o Code simplifications and refactoring:
+ - Move the core of our "choose a weighted element at random" logic
+ into its own function, and give it unit tests. Now the logic is
+ testable, and a little less fragile too.