Commit c345dab3 authored by Nick Mathewson's avatar Nick Mathewson 🤹
Browse files

Fix logic error (people who ask authorities should never split; others should...

Fix logic error (people who ask authorities should never split; others should always split).  Also, fix timing error in main.c so retries really happen.


svn:r5127
parent a1f1c4bf
Loading
Loading
Loading
Loading
+1 −1
Original line number Diff line number Diff line
@@ -664,7 +664,7 @@ run_scheduled_events(time_t now)

  if (time_to_reset_descriptor_failures < now) {
    router_reset_descriptor_download_failures();
    time_to_try_getting_descriptors = now + DESCRIPTOR_FAILURE_RESET_INTERVAL;
    time_to_reset_descriptor_failures = now + DESCRIPTOR_FAILURE_RESET_INTERVAL;
  }

  /** 1b. Every MAX_SSL_KEY_LIFETIME seconds, we change our TLS context. */
+3 −1
Original line number Diff line number Diff line
@@ -2368,10 +2368,12 @@ router_list_downloadable(void)
      rs->should_download = 1;
      ++n_downloadable;
    } else {
      /*
      char fp[HEX_DIGEST_LEN+1];
      base16_encode(fp, HEX_DIGEST_LEN+1, rs->status.identity_digest, DIGEST_LEN);
      log_fn(LOG_NOTICE, "Not yet ready to download %s (%d more seconds)", fp,
             (int)(rs->next_attempt_at-now));
      */
      rs->should_download = 0;
    }
  });
@@ -2479,7 +2481,7 @@ update_router_descriptor_downloads(time_t now)
#define MIN_REQUESTS 3
  smartlist_t *downloadable = NULL;
  int get_all = 0;
  int always_split = server_mode(get_options()) && get_options()->DirPort;
  int always_split = !server_mode(get_options()) || !get_options()->DirPort;

  if (!networkstatus_list || smartlist_len(networkstatus_list)<2)
    get_all = 1;