[tor-commits] [tor/master] Log a message when a hidden service has fewer intro points than expected

nickm at torproject.org nickm at torproject.org
Sun Mar 5 04:23:10 UTC 2017


commit f24638aa49bfd127c43f7ba12e91dd278b6f3264
Author: teor <teor2345 at gmail.com>
Date:   Thu Mar 2 16:38:21 2017 +1100

    Log a message when a hidden service has fewer intro points than expected
    
    Closes ticket 21598.
---
 changes/feature21598 |  4 ++++
 src/or/rendservice.c | 19 +++++++++++++++++++
 2 files changed, 23 insertions(+)

diff --git a/changes/feature21598 b/changes/feature21598
new file mode 100644
index 0000000..317ace4
--- /dev/null
+++ b/changes/feature21598
@@ -0,0 +1,4 @@
+  o Minor feature (hidden services):
+    - Log a message when a hidden service descriptor has fewer introduction
+      points than specified in HiddenServiceNumIntroductionPoints.
+      Closes ticket 21598.
diff --git a/src/or/rendservice.c b/src/or/rendservice.c
index cb87624..87a9ccf 100644
--- a/src/or/rendservice.c
+++ b/src/or/rendservice.c
@@ -1080,6 +1080,25 @@ rend_service_update_descriptor(rend_service_t *service)
       intro_svc->time_published = time(NULL);
     }
   }
+
+  /* Check that we have the right number of intro points */
+  unsigned int have_intro = (unsigned int)smartlist_len(d->intro_nodes);
+  if (have_intro != service->n_intro_points_wanted) {
+    int severity;
+    /* Getting less than we wanted or more than we're allowed is serious */
+    if (have_intro < service->n_intro_points_wanted ||
+        have_intro > NUM_INTRO_POINTS_MAX) {
+      severity = LOG_WARN;
+    } else {
+      /* Getting more than we wanted is weird, but less of a problem */
+      severity = LOG_NOTICE;
+    }
+    log_fn(severity, LD_REND, "Hidden service %s wanted %d intro points, but "
+           "descriptor was updated with %d instead.",
+           service->service_id,
+           service->n_intro_points_wanted, have_intro);
+    rend_service_dump_stats(severity);
+  }
 }
 
 /* Allocate and return a string containing the path to file_name in





More information about the tor-commits mailing list