Bläddra i källkod

Fix a bug in reading CircPriorityHalflife from consensus

When you mean (a=b(c,d)) >= 0, you had better not say (a=b(c,d)>=0).
We did the latter, and so whenever CircPriorityHalflife was in the
consensus, it was treated as having a value of 1 msec (that is,
boolean true).
Nick Mathewson 15 år sedan
förälder
incheckning
d888a8210f
2 ändrade filer med 6 tillägg och 1 borttagningar
  1. 5 0
      changes/read_circpriorityhalflife_correctly
  2. 1 1
      src/or/relay.c

+ 5 - 0
changes/read_circpriorityhalflife_correctly

@@ -0,0 +1,5 @@
+ o Major bugfixes:
+   - Fix a stupid parenthesization error that made every possible value
+     of CircPriorityHalflifeMsec get treated as "1 msec".  Bugfix on
+     0.2.2.7-alpha.
+

+ 1 - 1
src/or/relay.c

@@ -1865,7 +1865,7 @@ cell_ewma_set_scale_factor(or_options_t *options, networkstatus_t *consensus)
     source = "CircuitPriorityHalflife in configuration";
   } else if (consensus &&
              (halflife_ms = networkstatus_get_param(
-                   consensus, "CircPriorityHalflifeMsec", -1) >= 0)) {
+                   consensus, "CircPriorityHalflifeMsec", -1)) >= 0) {
     halflife = ((double)halflife_ms)/1000.0;
     source = "CircPriorityHalflifeMsec in consensus";
   } else {