Browse Source

relay: Change bandwidth stats interval to 24 hours

Going from 4 hours to 24 hours in order to try reduce the efficiency of guard
discovery attacks.

Closes #23856

Signed-off-by: David Goulet <dgoulet@torproject.org>
David Goulet 6 years ago
parent
commit
8be50ca3ea
3 changed files with 7 additions and 3 deletions
  1. 4 0
      changes/ticket23856
  2. 2 2
      src/or/rephist.c
  3. 1 1
      src/or/router.c

+ 4 - 0
changes/ticket23856

@@ -0,0 +1,4 @@
+  o Minor feature (relay statistics): 
+    - Change relay bandwidth reporting stats interval from 4 hours to 24 hours
+      in order to reduce the efficiency of guard discovery attacks. Fixes
+      ticket 23856.

+ 2 - 2
src/or/rephist.c

@@ -1131,9 +1131,9 @@ rep_hist_load_mtbf_data(time_t now)
  * totals? */
 #define NUM_SECS_ROLLING_MEASURE 10
 /** How large are the intervals for which we track and report bandwidth use? */
-#define NUM_SECS_BW_SUM_INTERVAL (4*60*60)
+#define NUM_SECS_BW_SUM_INTERVAL (24*60*60)
 /** How far in the past do we remember and publish bandwidth use? */
-#define NUM_SECS_BW_SUM_IS_VALID (24*60*60)
+#define NUM_SECS_BW_SUM_IS_VALID (5*24*60*60)
 /** How many bandwidth usage intervals do we remember? (derived) */
 #define NUM_TOTALS (NUM_SECS_BW_SUM_IS_VALID/NUM_SECS_BW_SUM_INTERVAL)
 

+ 1 - 1
src/or/router.c

@@ -2064,7 +2064,7 @@ mark_my_descriptor_dirty(const char *reason)
 
 /** How frequently will we republish our descriptor because of large (factor
  * of 2) shifts in estimated bandwidth? */
-#define MAX_BANDWIDTH_CHANGE_FREQ (20*60)
+#define MAX_BANDWIDTH_CHANGE_FREQ (3*60*60)
 
 /** Check whether bandwidth has changed a lot since the last time we announced
  * bandwidth. If so, mark our descriptor dirty. */