summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSebastian Hahn <sebastian@torproject.org>2011-04-26 15:33:08 +0200
committerSebastian Hahn <sebastian@torproject.org>2011-04-26 15:36:17 +0200
commit6fde2b46d2cc2345ec955b1ed9674a777e5e8716 (patch)
treef48d5a36acc42884a5acf60c1da7eff517e0ed5a
parentf3b58dfa53d87656f558a97bc28a333bdea06017 (diff)
downloadtor-6fde2b46d2cc2345ec955b1ed9674a777e5e8716.tar.gz
tor-6fde2b46d2cc2345ec955b1ed9674a777e5e8716.zip
Fix more of bug 2704
The last entry of the *Maxima values in the state file was inflated by a factor of NUM_SECS_ROLLING_MEASURE (currently 10). This could lead to a wrong maximum value propagating through the state file history.
-rw-r--r--changes/bug27045
-rw-r--r--src/or/rephist.c3
2 files changed, 7 insertions, 1 deletions
diff --git a/changes/bug2704 b/changes/bug2704
new file mode 100644
index 0000000000..821b38bc08
--- /dev/null
+++ b/changes/bug2704
@@ -0,0 +1,5 @@
+ o Major bugfixes:
+ - When writing our maximum bw for the current interval to the state
+ file, don't wrongly inflate that value by a factor of 10 anymore.
+ Fixes more of bug 2704.
+
diff --git a/src/or/rephist.c b/src/or/rephist.c
index fb091d5adf..9146fce7f3 100644
--- a/src/or/rephist.c
+++ b/src/or/rephist.c
@@ -1614,7 +1614,8 @@ rep_hist_update_bwhist_state_section(or_state_t *state,
}
tor_asprintf(&cp, U64_FORMAT, U64_PRINTF_ARG(b->total_in_period & ~0x3ff));
smartlist_add(*s_values, cp);
- tor_asprintf(&cp, U64_FORMAT, U64_PRINTF_ARG(b->max_total & ~0x3ff));
+ maxval = b->max_total / NUM_SECS_ROLLING_MEASURE;
+ tor_asprintf(&cp, U64_FORMAT, U64_PRINTF_ARG(maxval & ~0x3ff));
smartlist_add(*s_maxima, cp);
}