aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--changes/bug8146_etc4
-rw-r--r--src/or/dirserv.c5
2 files changed, 7 insertions, 2 deletions
diff --git a/changes/bug8146_etc b/changes/bug8146_etc
index d59c4c1af..3775aa505 100644
--- a/changes/bug8146_etc
+++ b/changes/bug8146_etc
@@ -1,5 +1,7 @@
o Major bugfixes (security, directory authority):
- When computing directory thresholds, ignore any rejected-as-sybil
nodes during the computation so that they can't influence Fast,
- Guard, etc. Fixes bug 8146.
+ Guard, etc. Fixes bug 8146.
+ - When computing thresholds for flags, never let the threshold for
+ the Fast flag to 4096 bytes. Fixes bug 8145.
diff --git a/src/or/dirserv.c b/src/or/dirserv.c
index 6c4b119e4..f3cb2de91 100644
--- a/src/or/dirserv.c
+++ b/src/or/dirserv.c
@@ -1986,9 +1986,12 @@ dirserv_compute_performance_thresholds(routerlist_t *rl,
{
/* We can vote on a parameter for the minimum and maximum. */
+#define ABSOLUTE_MIN_VALUE_FOR_FAST_FLAG 4096
int32_t min_fast, max_fast;
min_fast = networkstatus_get_param(NULL, "FastFlagMinThreshold",
- 0, 0, INT32_MAX);
+ ABSOLUTE_MIN_VALUE_FOR_FAST_FLAG,
+ ABSOLUTE_MIN_VALUE_FOR_FAST_FLAG,
+ INT32_MAX);
max_fast = networkstatus_get_param(NULL, "FastFlagMaxThreshold",
INT32_MAX, min_fast, INT32_MAX);
if (fast_bandwidth < (uint32_t)min_fast)