diff options
-rw-r--r-- | changes/bug8146_etc | 4 | ||||
-rw-r--r-- | src/or/dirserv.c | 5 |
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) |