int ret = options->UseMicrodescriptors;
if (ret == -1) {
/* UseMicrodescriptors is "auto"; we need to decide: */
- /* So we decide that we'll use microdescriptors iff we are not a server */
- ret = ! server_mode(options);
+ /* So we decide that we'll use microdescriptors iff we are not a server,
+ * and we're not autofetching everything. */
+ ret = !server_mode(options) && !options->FetchUselessDescriptors;
}
return ret;
}
{
if (directory_caches_dir_info(options))
return 1;
+ if (options->FetchUselessDescriptors)
+ return 1;
return we_use_microdescriptors_for_circuits(options);
}
{
if (directory_caches_dir_info(options))
return 1;
+ if (options->FetchUselessDescriptors)
+ return 1;
return ! we_use_microdescriptors_for_circuits(options);
}
* it ourselves. */
return 1;
}
+ if (options->FetchUselessDescriptors) {
+ /* In order to get all descriptors, we need to fetch all consensuses. */
+ return 1;
+ }
/* Otherwise, we want the flavor only if we want to use it to build
* circuits. */
return flavor == usable_consensus_flavor();