Commit 947012e1 authored by Nick Mathewson's avatar Nick Mathewson 🐘
Browse files

Merge remote-tracking branch 'public/bug3851'

parents 9ef2cd77 3b02a959
Loading
Loading
Loading
Loading

changes/bug3851

0 → 100644
+4 −0
Changes for changes/bug3851: 4 added lines, 0 removed lines.
Original line number Diff line number Diff line
  o Minor bugfixes:
    - Make 'FetchUselessDescriptors' cause all descriptor types and
      all consensus types get fetched. Fixes bug 3851; bugfix on
      0.2.3.1-alpha.
+7 −2
Changes for src/or/microdesc.c: 7 added lines, 2 removed lines.
Original line number Diff line number Diff line
@@ -698,8 +698,9 @@ we_use_microdescriptors_for_circuits(const or_options_t *options)
  int ret = options->UseMicrodescriptors;
  if (ret == -1) {
    /* UseMicrodescriptors is "auto"; we need to decide: */
    /* So we decide that we'll use microdescriptors iff we are not a server */
    ret = ! server_mode(options);
    /* So we decide that we'll use microdescriptors iff we are not a server,
     * and we're not autofetching everything. */
    ret = !server_mode(options) && !options->FetchUselessDescriptors;
  }
  return ret;
}
@@ -710,6 +711,8 @@ we_fetch_microdescriptors(const or_options_t *options)
{
  if (directory_caches_dir_info(options))
    return 1;
  if (options->FetchUselessDescriptors)
    return 1;
  return we_use_microdescriptors_for_circuits(options);
}

@@ -719,6 +722,8 @@ we_fetch_router_descriptors(const or_options_t *options)
{
  if (directory_caches_dir_info(options))
    return 1;
  if (options->FetchUselessDescriptors)
    return 1;
  return ! we_use_microdescriptors_for_circuits(options);
}

+4 −0
Changes for src/or/networkstatus.c: 4 added lines, 0 removed lines.
Original line number Diff line number Diff line
@@ -1187,6 +1187,10 @@ we_want_to_fetch_flavor(const or_options_t *options, int flavor)
     * it ourselves. */
    return 1;
  }
  if (options->FetchUselessDescriptors) {
    /* In order to get all descriptors, we need to fetch all consensuses. */
    return 1;
  }
  /* Otherwise, we want the flavor only if we want to use it to build
   * circuits. */
  return flavor == usable_consensus_flavor();