[tor-commits] [tor/master] Make direclient_dump_total_dls() respect SafeLogging and pass tests.

nickm at torproject.org nickm at torproject.org
Tue Feb 25 17:58:32 UTC 2020


commit ce9eeefbcc7c87c7608612605fa325d712c2c944
Author: Nick Mathewson <nickm at torproject.org>
Date:   Thu Feb 20 12:26:32 2020 -0500

    Make direclient_dump_total_dls() respect SafeLogging and pass tests.
    
    Don't dump totals with anonymous purposes.  Additionally, don't dump
    headers that have nothing underneath them.
---
 src/feature/dirclient/dirclient.c | 29 ++++++++++++++++-------------
 1 file changed, 16 insertions(+), 13 deletions(-)

diff --git a/src/feature/dirclient/dirclient.c b/src/feature/dirclient/dirclient.c
index 7c7057b10..ecedbddf4 100644
--- a/src/feature/dirclient/dirclient.c
+++ b/src/feature/dirclient/dirclient.c
@@ -1981,19 +1981,22 @@ static uint64_t total_dl[DIR_PURPOSE_MAX_][2];
 void
 dirclient_dump_total_dls(void)
 {
-  log_notice(LD_NET,
-             "While bootstrapping, fetched this many bytes: ");
-  for (int i=0; i < DIR_PURPOSE_MAX_; ++i) {
-    uint64_t n = total_dl[i][0];
-    if (n) {
-      log_notice(LD_NET, "    %zu (%s)", n, dir_conn_purpose_to_string(i));
-    }
-  }
-  log_notice(LD_NET,
-             "While not bootsrapping, fetched this many bytes: ");
-  for (int i=0; i < DIR_PURPOSE_MAX_; ++i) {
-    uint64_t n = total_dl[i][1];
-    if (n) {
+  const or_options_t *options = get_options();
+  for (int bootstrapped = 0; bootstrapped < 2; ++bootstrapped) {
+    bool first_time = true;
+    for (int i=0; i < DIR_PURPOSE_MAX_; ++i) {
+      uint64_t n = total_dl[i][0];
+      if (n == 0)
+        continue;
+      if (options->SafeLogging_ != SAFELOG_SCRUB_NONE &&
+          purpose_needs_anonymity(i, ROUTER_PURPOSE_GENERAL, NULL))
+        continue;
+      if (first_time) {
+        log_notice(LD_NET,
+                   "While %sbootstrapping, fetched this many bytes: ",
+                   bootstrapped?"not ":"");
+        first_time = false;
+      }
       log_notice(LD_NET, "    %zu (%s)", n, dir_conn_purpose_to_string(i));
     }
   }





More information about the tor-commits mailing list