Commit 10e442ba authored by Nick Mathewson's avatar Nick Mathewson 🤹
Browse files

Merge remote-tracking branch 'teor/feature17864'

parents a03469aa 978210d5
Loading
Loading
Loading
Loading

changes/feature17864

0 → 100644
+5 −0
Original line number Diff line number Diff line
  o Minor feature (directory downloads):
    - Wait for busy authorities and fallbacks to become non-busy when
      bootstrapping. (A similar change was made in 6c443e987d for
      directory servers chosen from the consensus.)
      Closes ticket 17864; patch by "teor".
+6 −4
Original line number Diff line number Diff line
@@ -1739,22 +1739,24 @@ router_pick_trusteddirserver_impl(const smartlist_t *sourcelist,
      result = &selection->fake_status;
  }

  if (n_busy_out)
    *n_busy_out = n_busy;

  smartlist_free(direct);
  smartlist_free(tunnel);
  smartlist_free(overloaded_direct);
  smartlist_free(overloaded_tunnel);

  if (result == NULL && try_excluding && !options->StrictNodes && n_excluded) {
  if (result == NULL && try_excluding && !options->StrictNodes && n_excluded
      && !n_busy) {
    /* If we got no result, and we are excluding nodes, and StrictNodes is
     * not set, try again without excluding nodes. */
    try_excluding = 0;
    n_excluded = 0;
    n_busy = 0;
    goto retry_without_exclude;
  }

  if (n_busy_out)
    *n_busy_out = n_busy;

  return result;
}