Browse Source

Don't log about stats when running as a client without geoip

Completely disable stats if we aren't running as a relay. We won't
collect any anyway, so setting up the infrastructure for them and
logging about them is wrong. This also removes a confusing log
message that clients without a geoip db would have seen.

Fixes bug 4353.
Sebastian Hahn 14 years ago
parent
commit
6ef44b7849
2 changed files with 16 additions and 0 deletions
  1. 7 0
      changes/bug4353
  2. 9 0
      src/or/config.c

+ 7 - 0
changes/bug4353

@@ -0,0 +1,7 @@
+  o Minor bugfixes:
+    - When running as client without a geoip database, do not print a
+      misleading (and plain wrong) log message that we're collecting
+      dirreq statistics - we're not collecting statistics as clients.
+      Also don't create a useless (because empty) stats file in the
+      stats/ directory. Fixes bug 4353, bugfix on 0.2.2.34.
+

+ 9 - 0
src/or/config.c

@@ -1414,6 +1414,15 @@ options_act(or_options_t *old_options)
       options->EntryStatistics || options->ExitPortStatistics) {
     time_t now = time(NULL);
     int print_notice = 0;
+
+    /* If we aren't acting as a server, we can't collect stats anyway. */
+    if (!server_mode(options)) {
+      options->CellStatistics = 0;
+      options->DirReqStatistics = 0;
+      options->EntryStatistics = 0;
+      options->ExitPortStatistics = 0;
+    }
+
     if ((!old_options || !old_options->CellStatistics) &&
         options->CellStatistics) {
       rep_hist_buffer_stats_init(now);