diff --git a/changes/bug-15642-default-fallback-default-dirs b/changes/bug-15642-default-fallback-default-dirs new file mode 100644 index 0000000000..3864cf373c --- /dev/null +++ b/changes/bug-15642-default-fallback-default-dirs @@ -0,0 +1,8 @@ + o Minor bugfixes (configuration): + - Only add the default fallback directories when the DirAuthorities, + AlternateDirAuthority, and FallbackDir directory config options + are set to their defaults. + The default fallback directory list is empty, this fix will only + change tor's behaviour when it has default fallback directories. + Fixes bug 15642; bugfix on 90f6071d8dc0 in 0.2.4.7-alpha. + Patch by "teor". diff --git a/src/or/config.c b/src/or/config.c index d7444d52f6..d48d57f733 100644 --- a/src/or/config.c +++ b/src/or/config.c @@ -985,17 +985,22 @@ consider_adding_dir_servers(const or_options_t *options, if (!options->DirAuthorities) { /* then we may want some of the defaults */ dirinfo_type_t type = NO_DIRINFO; - if (!options->AlternateBridgeAuthority) + if (!options->AlternateBridgeAuthority) { type |= BRIDGE_DIRINFO; - if (!options->AlternateDirAuthority) + } + if (!options->AlternateDirAuthority) { type |= V3_DIRINFO | EXTRAINFO_DIRINFO | MICRODESC_DIRINFO; + /* Only add the default fallback directories when the DirAuthorities, + * AlternateDirAuthority, and FallbackDir directory config options + * are set to their defaults. */ + if (!options->FallbackDir) + add_default_fallback_dir_servers(); + } /* if type == NO_DIRINFO, we don't want to add any of the * default authorities, because we've replaced them all */ if (type != NO_DIRINFO) add_default_trusted_dir_authorities(type); } - if (!options->FallbackDir) - add_default_fallback_dir_servers(); for (cl = options->DirAuthorities; cl; cl = cl->next) if (parse_dir_authority_line(cl->value, NO_DIRINFO, 0)<0)