|
@@ -433,10 +433,18 @@ add_an_entry_guard(const node_t *chosen, int reset_status, int prepend,
|
|
|
static int
|
|
|
decide_num_guards(const or_options_t *options, int for_directory)
|
|
|
{
|
|
|
- if (for_directory && options->NumDirectoryGuards != 0)
|
|
|
- return options->NumDirectoryGuards;
|
|
|
+ if (for_directory) {
|
|
|
+ int answer;
|
|
|
+ if (options->NumDirectoryGuards != 0)
|
|
|
+ return options->NumDirectoryGuards;
|
|
|
+ answer = networkstatus_get_param(NULL, "NumDirectoryGuards", 0, 0, 10);
|
|
|
+ if (answer)
|
|
|
+ return answer;
|
|
|
+ }
|
|
|
+
|
|
|
if (options->NumEntryGuards)
|
|
|
return options->NumEntryGuards;
|
|
|
+
|
|
|
|
|
|
return networkstatus_get_param(NULL, "NumEntryGuards", 3, 1, 10);
|
|
|
}
|