r16041@catbus: nickm | 2007-10-22 13:02:14 -0400

Reattempt certificate downloads immediately on failure, as appropriate.


svn:r12106
This commit is contained in:
Nick Mathewson 2007-10-22 17:31:22 +00:00
parent 25a68907a1
commit 4bab46d5d7
5 changed files with 12 additions and 1 deletions

View File

@ -33,6 +33,7 @@ Changes in version 0.2.0.9-alpha - 2007-10-??
- Allow certificates to include an address.
- When we change our directory-cache settings, reschedule all voting
and download operations.
- Reattempt certificate downloads immediately on failure, as appropriate.
o Minor features (router descriptor cache):
- If we find a cached-routers file that's been sitting around for more

View File

@ -49,7 +49,7 @@ Things we'd like to do in 0.2.0.x:
of their first test, and then never seeing use.
- Before 0.2.0.9-alpha (for nickm)
- Retry cert downloads as appropriate
o Retry cert downloads as appropriate
- Delay consensus download retry when there's a unverified consensus we're
downloading the certs to check
- But don't delay forever.

View File

@ -592,6 +592,8 @@ connection_dir_download_cert_failed(dir_connection_t *conn, int status)
tor_free(cp);
});
smartlist_free(failed);
update_certificate_downloads(time(NULL));
}
/** Helper for directory_initiate_command_(router|trusted_dir): send the

View File

@ -843,6 +843,13 @@ update_networkstatus_downloads(time_t now)
if (dirserver_mode(options))
update_v2_networkstatus_cache_downloads(now);
update_consensus_networkstatus_downloads(now);
update_certificate_downloads(now);
}
/**DOCDOC */
void
update_certificate_downloads(time_t now)
{
if (consensus_waiting_for_certs)
authority_certs_fetch_missing(consensus_waiting_for_certs, now);
else

View File

@ -3106,6 +3106,7 @@ void networkstatus_consensus_download_failed(int status_code);
void update_consensus_networkstatus_fetch_time(time_t now);
int should_delay_dir_fetches(or_options_t *options);
void update_networkstatus_downloads(time_t now);
void update_certificate_downloads(time_t now);
networkstatus_v2_t *networkstatus_v2_get_by_digest(const char *digest);
networkstatus_vote_t *networkstatus_get_latest_consensus(void);
networkstatus_vote_t *networkstatus_get_live_consensus(time_t now);