Unverified Commit 2cbad2aa authored by teor (Tim Wilson-Brown)'s avatar teor (Tim Wilson-Brown)
Browse files

Revert "Switch between fallback and authority when auth cert fetch fails"

This reverts commit 92d7ee08.
parent 28e1aa11
Loading
Loading
Loading
Loading
+0 −2
Original line number Diff line number Diff line
  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.
+4 −10
Original line number Diff line number Diff line
@@ -912,14 +912,11 @@ 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);
      /* XXX - do we want certs from authorities or mirrors? - teor */
      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 +958,11 @@ 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);
      /* XXX - do we want certs from authorities or mirrors? - teor */
      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 */