diff options
Diffstat (limited to 'src/or/entrynodes.c')
-rw-r--r-- | src/or/entrynodes.c | 9 |
1 files changed, 6 insertions, 3 deletions
diff --git a/src/or/entrynodes.c b/src/or/entrynodes.c index c624c64b3f..9630f170f1 100644 --- a/src/or/entrynodes.c +++ b/src/or/entrynodes.c @@ -898,14 +898,17 @@ get_max_sample_size(guard_selection_t *gs, int n_guards) { const int using_bridges = (gs->type == GS_TYPE_BRIDGE); + const int min_sample = get_min_filtered_sample_size(); /* XXXX prop271 spec deviation with bridges, max_sample is "all of them" */ if (using_bridges) return n_guards; - else if (n_guards < 20) // XXXX prop271 spec deviation - return n_guards; + + const int max_sample = (int)(n_guards * get_max_sample_threshold()); + if (max_sample < min_sample) // XXXX prop271 spec deviation + return min_sample; else - return (int)(n_guards * get_max_sample_threshold()); + return max_sample; } /** |