diff options
author | George Kadianakis <desnacked@riseup.net> | 2018-04-25 15:10:24 +0300 |
---|---|---|
committer | Nick Mathewson <nickm@torproject.org> | 2018-04-27 12:44:54 -0400 |
commit | d00ed406e08942d6539281eb28e875939ee214e5 (patch) | |
tree | d9691bdb12dec7f01b9c410f7c7615a9f6058632 /src/or/entrynodes.c | |
parent | 3bf9974b6c4ee9f2a8204c058e1b7c206b99d620 (diff) | |
download | tor-d00ed406e08942d6539281eb28e875939ee214e5.tar.gz tor-d00ed406e08942d6539281eb28e875939ee214e5.zip |
Introduce torrc option NumPrimaryGuards
Diffstat (limited to 'src/or/entrynodes.c')
-rw-r--r-- | src/or/entrynodes.c | 16 |
1 files changed, 10 insertions, 6 deletions
diff --git a/src/or/entrynodes.c b/src/or/entrynodes.c index 88d1b94deb..061aa6f58c 100644 --- a/src/or/entrynodes.c +++ b/src/or/entrynodes.c @@ -432,14 +432,15 @@ get_guard_confirmed_min_lifetime(void) STATIC int get_n_primary_guards(void) { - const int n = get_options()->NumEntryGuards; - const int n_dir = get_options()->NumDirectoryGuards; - if (n > 5) { - return MAX(n_dir, n + n / 2); - } else if (n >= 1) { - return MAX(n_dir, n * 2); + /* If the user has explicitly configured the number of primary guards, do + * what the user wishes to do */ + const int configured_primaries = get_options()->NumPrimaryGuards; + if (configured_primaries) { + return configured_primaries; } + /* otherwise check for consensus parameter and if that's not set either, just + * use the default value. */ return networkstatus_get_param(NULL, "guard-n-primary-guards", DFLT_N_PRIMARY_GUARDS, 1, INT32_MAX); @@ -454,6 +455,9 @@ get_n_primary_guards_to_use(guard_usage_t usage) int configured; const char *param_name; int param_default; + + /* If the user has explicitly configured the amount of guards, use + that. Otherwise, fall back to the default value. */ if (usage == GUARD_USAGE_DIRGUARD) { configured = get_options()->NumDirectoryGuards; param_name = "guard-n-primary-dir-guards-to-use"; |