[tor-commits] [tor/master] prop224: Make prop224 time periods smaller in testnets.

nickm at torproject.org nickm at torproject.org
Wed Aug 9 00:36:38 UTC 2017


commit 6c00bd1f10f4683824deeaa7dd8a23aaf6b9a40e
Author: George Kadianakis <desnacked at riseup.net>
Date:   Tue Jul 18 18:10:26 2017 +0300

    prop224: Make prop224 time periods smaller in testnets.
    
    It used to be that time periods were 24 hours long even on chutney,
    which made testing harder. With this commit, time periods have the same
    length as a full SRV protocol run, which means that they will change
    every 4 minutes in a 10-second voting interval chutney network!
---
 src/or/hs_common.c | 11 +++++++++++
 1 file changed, 11 insertions(+)

diff --git a/src/or/hs_common.c b/src/or/hs_common.c
index 0ae196d93..9c3d2c171 100644
--- a/src/or/hs_common.c
+++ b/src/or/hs_common.c
@@ -181,6 +181,17 @@ hs_check_service_private_dir(const char *username, const char *path,
 STATIC uint64_t
 get_time_period_length(void)
 {
+  /* If we are on a test network, make the time period smaller than normal so
+     that we actually see it rotate. Specifically, make it the same length as
+     an SRV protocol run. */
+  if (get_options()->TestingTorNetwork) {
+    unsigned run_duration = sr_state_get_protocol_run_duration();
+    /* An SRV run should take more than a minute (it's 24 rounds) */
+    tor_assert_nonfatal(run_duration > 60);
+    /* Turn it from seconds to minutes before returning: */
+    return sr_state_get_protocol_run_duration() / 60;
+  }
+
   int32_t time_period_length = networkstatus_get_param(NULL, "hsdir-interval",
                                              HS_TIME_PERIOD_LENGTH_DEFAULT,
                                              HS_TIME_PERIOD_LENGTH_MIN,





More information about the tor-commits mailing list