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).
This commit is contained in:
Nick Mathewson 2010-04-12 15:38:54 -04:00
parent 8aec982f91
commit d888a8210f
2 changed files with 6 additions and 1 deletions

View File

@ -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.

View File

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