diff --git a/changes/bug8146_etc b/changes/bug8146_etc index d59c4c1af8..3775aa5059 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 6c4b119e43..f3cb2de918 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)