Loading changes/bug23470 0 → 100644 +6 −0 Original line number Diff line number Diff line o Minor bugfix (relay address resolution): - Avoid unnecessary calls to directory_fetches_from_authorities() on relays. This avoids spurious address resolutions and descriptor rebuilds. This is a mitigation for 21789. The original bug was introduced in commit 35bbf2e as part of prop210. Fixes 23470 in 0.2.8.1-alpha. src/or/directory.c +11 −11 Original line number Diff line number Diff line Loading @@ -5124,26 +5124,24 @@ connection_dir_finished_connecting(dir_connection_t *conn) STATIC const smartlist_t * find_dl_schedule(download_status_t *dls, const or_options_t *options) { const int dir_server = dir_server_mode(options); const int multi_d = networkstatus_consensus_can_use_multiple_directories( options); const int we_are_bootstrapping = networkstatus_consensus_is_bootstrapping( time(NULL)); const int use_fallbacks = networkstatus_consensus_can_use_extra_fallbacks( options); switch (dls->schedule) { case DL_SCHED_GENERIC: if (dir_server) { /* Any other directory document */ if (dir_server_mode(options)) { /* A directory authority or directory mirror */ return options->TestingServerDownloadSchedule; } else { return options->TestingClientDownloadSchedule; } case DL_SCHED_CONSENSUS: if (!multi_d) { if (!networkstatus_consensus_can_use_multiple_directories(options)) { /* A public relay */ return options->TestingServerConsensusDownloadSchedule; } else { if (we_are_bootstrapping) { if (!use_fallbacks) { /* A client or bridge */ if (networkstatus_consensus_is_bootstrapping(time(NULL))) { /* During bootstrapping */ if (!networkstatus_consensus_can_use_extra_fallbacks(options)) { /* A bootstrapping client without extra fallback directories */ return options->ClientBootstrapConsensusAuthorityOnlyDownloadSchedule; Loading @@ -5159,6 +5157,8 @@ find_dl_schedule(download_status_t *dls, const or_options_t *options) options->ClientBootstrapConsensusFallbackDownloadSchedule; } } else { /* A client with a reasonably live consensus, with or without * certificates */ return options->TestingClientConsensusDownloadSchedule; } } Loading Loading
changes/bug23470 0 → 100644 +6 −0 Original line number Diff line number Diff line o Minor bugfix (relay address resolution): - Avoid unnecessary calls to directory_fetches_from_authorities() on relays. This avoids spurious address resolutions and descriptor rebuilds. This is a mitigation for 21789. The original bug was introduced in commit 35bbf2e as part of prop210. Fixes 23470 in 0.2.8.1-alpha.
src/or/directory.c +11 −11 Original line number Diff line number Diff line Loading @@ -5124,26 +5124,24 @@ connection_dir_finished_connecting(dir_connection_t *conn) STATIC const smartlist_t * find_dl_schedule(download_status_t *dls, const or_options_t *options) { const int dir_server = dir_server_mode(options); const int multi_d = networkstatus_consensus_can_use_multiple_directories( options); const int we_are_bootstrapping = networkstatus_consensus_is_bootstrapping( time(NULL)); const int use_fallbacks = networkstatus_consensus_can_use_extra_fallbacks( options); switch (dls->schedule) { case DL_SCHED_GENERIC: if (dir_server) { /* Any other directory document */ if (dir_server_mode(options)) { /* A directory authority or directory mirror */ return options->TestingServerDownloadSchedule; } else { return options->TestingClientDownloadSchedule; } case DL_SCHED_CONSENSUS: if (!multi_d) { if (!networkstatus_consensus_can_use_multiple_directories(options)) { /* A public relay */ return options->TestingServerConsensusDownloadSchedule; } else { if (we_are_bootstrapping) { if (!use_fallbacks) { /* A client or bridge */ if (networkstatus_consensus_is_bootstrapping(time(NULL))) { /* During bootstrapping */ if (!networkstatus_consensus_can_use_extra_fallbacks(options)) { /* A bootstrapping client without extra fallback directories */ return options->ClientBootstrapConsensusAuthorityOnlyDownloadSchedule; Loading @@ -5159,6 +5157,8 @@ find_dl_schedule(download_status_t *dls, const or_options_t *options) options->ClientBootstrapConsensusFallbackDownloadSchedule; } } else { /* A client with a reasonably live consensus, with or without * certificates */ return options->TestingClientConsensusDownloadSchedule; } } Loading