Commit 891b3d86 authored by Roger Dingledine's avatar Roger Dingledine
Browse files

Merge branch 'master' of ssh://git.torproject.org/git/tor

parents cbbd6f92 180a4b6a
Loading
Loading
Loading
Loading
+3 −0
Original line number Diff line number Diff line
@@ -14,6 +14,9 @@ Changes in version 0.2.2.4-alpha - 2009-??-??
      code, and so on.  The unit test code has moved to its own
      subdirectory, and has been split into multiple modules.

  o Minor bugfixes:
    - Fix a couple of smaller issues with gathering statistics. Bugfixes
      on 0.2.2.1-alpha.

Changes in version 0.2.2.3-alpha - 2009-09-23
  o Major bugfixes:
+5 −1
Original line number Diff line number Diff line
@@ -370,10 +370,12 @@ static void
rotate_request_period(void)
{
  SMARTLIST_FOREACH(geoip_countries, geoip_country_t *, c, {
#if REQUEST_HIST_LEN > 1
      memmove(&c->n_v2_ns_requests[0], &c->n_v2_ns_requests[1],
              sizeof(uint32_t)*(REQUEST_HIST_LEN-1));
      memmove(&c->n_v3_ns_requests[0], &c->n_v3_ns_requests[1],
              sizeof(uint32_t)*(REQUEST_HIST_LEN-1));
#endif
      c->n_v2_ns_requests[REQUEST_HIST_LEN-1] = 0;
      c->n_v3_ns_requests[REQUEST_HIST_LEN-1] = 0;
    });
@@ -393,7 +395,7 @@ geoip_note_client_seen(geoip_client_action_t action,
  clientmap_entry_t lookup, *ent;
  if (action == GEOIP_CLIENT_CONNECT) {
    /* Only remember statistics as entry guard or as bridge. */
    if (!options->EntryStatistics ||
    if (!options->EntryStatistics &&
        (!(options->BridgeRelay && options->BridgeRecordUsageByCountry)))
      return;
    /* Did we recently switch from bridge to relay or back? */
@@ -1009,6 +1011,8 @@ geoip_dirreq_stats_write(time_t now)
  if (fprintf(out, "dirreq-v3-reqs %s\ndirreq-v2-reqs %s\n",
              data_v3 ? data_v3 : "", data_v2 ? data_v2 : "") < 0)
    goto done;
  tor_free(data_v2);
  tor_free(data_v3);
#define RESPONSE_GRANULARITY 8
  for (i = 0; i < GEOIP_NS_RESPONSE_NUM; i++) {
    ns_v2_responses[i] = round_uint32_to_next_multiple_of(
+1 −1
Original line number Diff line number Diff line
@@ -981,7 +981,6 @@ run_scheduled_events(time_t now)
        time_to_write_stats_files = now + WRITE_STATS_INTERVAL;
      } else {
        /* Write stats to disk. */
        time_to_write_stats_files += WRITE_STATS_INTERVAL;
        if (options->CellStatistics)
          rep_hist_buffer_stats_write(time_to_write_stats_files);
        if (options->DirReqStatistics)
@@ -990,6 +989,7 @@ run_scheduled_events(time_t now)
          geoip_entry_stats_write(time_to_write_stats_files);
        if (options->ExitPortStatistics)
          rep_hist_exit_stats_write(time_to_write_stats_files);
        time_to_write_stats_files += WRITE_STATS_INTERVAL;
      }
    } else {
      /* Never write stats to disk */
+1 −1
Original line number Diff line number Diff line
@@ -3867,7 +3867,7 @@ int dnsserv_launch_request(const char *name, int is_reverse);
#define DIR_ENTRY_RECORD_USAGE_RETAIN_IPS (24*60*60)
/** How long do we have to have observed per-country request history before
 * we are willing to talk about it? */
#define DIR_RECORD_USAGE_MIN_OBSERVATION_TIME (24*60*60)
#define DIR_RECORD_USAGE_MIN_OBSERVATION_TIME (12*60*60)

#ifdef GEOIP_PRIVATE
int geoip_parse_entry(const char *line);
+4 −3
Original line number Diff line number Diff line
@@ -1461,9 +1461,9 @@ rep_hist_exit_stats_write(time_t now)
              comma ? "," : "", other_streams)<0)
    goto done;
  /* Reset counters */
  memset(exit_bytes_read, 0, sizeof(exit_bytes_read));
  memset(exit_bytes_written, 0, sizeof(exit_bytes_written));
  memset(exit_streams, 0, sizeof(exit_streams));
  memset(exit_bytes_read, 0, EXIT_STATS_NUM_PORTS * sizeof(uint64_t));
  memset(exit_bytes_written, 0, EXIT_STATS_NUM_PORTS * sizeof(uint64_t));
  memset(exit_streams, 0, EXIT_STATS_NUM_PORTS * sizeof(uint32_t));
  start_of_exit_stats_interval = now;

  if (open_file)
@@ -2771,6 +2771,7 @@ rep_hist_buffer_stats_write(time_t now)
    goto done;
  finish_writing_to_file(open_file);
  open_file = NULL;
  start_of_buffer_stats_interval = now;
 done:
  if (open_file)
    abort_writing_to_file(open_file);