Skip to content
Snippets Groups Projects
Commit 8d962233 authored by Nick Mathewson's avatar Nick Mathewson :game_die:
Browse files

Merge remote-tracking branch 'teor/bug18816_simplify' into maint-0.2.8

parents 24fbb9a8 797ece04
No related branches found
No related tags found
No related merge requests found
o Minor bugfix (bootstrap):
- Consistently use the consensus download schedule for
authority certificates.
- When downloading authority certificates fails, switch from
using a fallback to using an authority.
Resolves ticket 18816; fix on fddb814fe in 0.2.4.13-alpha.
......@@ -912,14 +912,12 @@ authority_certs_fetch_missing(networkstatus_t *status, time_t now)
} SMARTLIST_FOREACH_END(d);
if (smartlist_len(fps) > 1) {
static int want_auth = 0;
resource = smartlist_join_strings(fps, "", 0, NULL);
/* We want certs from mirrors, because they will almost always succeed.
*/
directory_get_from_dirserver(DIR_PURPOSE_FETCH_CERTIFICATE, 0,
resource, PDS_RETRY_IF_NO_SERVERS,
want_auth ? DL_WANT_AUTHORITY
: DL_WANT_ANY_DIRSERVER);
/* on failure, swap between using fallbacks and authorities */
want_auth = !want_auth;
DL_WANT_ANY_DIRSERVER);
tor_free(resource);
}
/* else we didn't add any: they were all pending */
......@@ -961,14 +959,12 @@ authority_certs_fetch_missing(networkstatus_t *status, time_t now)
} SMARTLIST_FOREACH_END(d);
if (smartlist_len(fp_pairs) > 1) {
static int want_auth = 0;
resource = smartlist_join_strings(fp_pairs, "", 0, NULL);
/* We want certs from mirrors, because they will almost always succeed.
*/
directory_get_from_dirserver(DIR_PURPOSE_FETCH_CERTIFICATE, 0,
resource, PDS_RETRY_IF_NO_SERVERS,
want_auth ? DL_WANT_AUTHORITY
: DL_WANT_ANY_DIRSERVER);
/* on failure, swap between using fallbacks and authorities */
want_auth = !want_auth;
DL_WANT_ANY_DIRSERVER);
tor_free(resource);
}
/* else they were all pending */
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment