diff options
author | Nick Mathewson <nickm@torproject.org> | 2021-03-17 08:45:37 -0400 |
---|---|---|
committer | Nick Mathewson <nickm@torproject.org> | 2021-03-17 08:45:37 -0400 |
commit | 2ae24d003d1d12e8e202748c4398d7438e4a65d9 (patch) | |
tree | ed28225754a655c069a9a6d5fd6b66af2fdfc205 /src/app/config/config.c | |
parent | 59bbf8cde9144ee5c8d060959e723a4bedfd6bb8 (diff) | |
download | tor-2ae24d003d1d12e8e202748c4398d7438e4a65d9.tar.gz tor-2ae24d003d1d12e8e202748c4398d7438e4a65d9.zip |
Add a MinTimeToReportBandwidth option; make it 0 for testing networks.
This option changes the time for which a bandwidth measurement period
must have been in progress before we include it when reporting our
observed bandwidth in our descriptors. Without this option, we only
consider a time period towards our maximum if it has been running
for a full day. Obviously, that's unacceptable for testing
networks, where we'd like to get results as soon as possible.
For non-testing networks, I've put a (somewhat arbitrary) 2-hour
minimum on the option, since there are traffic analysis concerns
with immediate reporting here.
Closes #40337.
Diffstat (limited to 'src/app/config/config.c')
-rw-r--r-- | src/app/config/config.c | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/src/app/config/config.c b/src/app/config/config.c index fa74907b3d..9011f36735 100644 --- a/src/app/config/config.c +++ b/src/app/config/config.c @@ -563,6 +563,7 @@ static const config_var_t option_vars_[] = { V(MaxUnparseableDescSizeToLog, MEMUNIT, "10 MB"), VPORT(MetricsPort), V(MetricsPortPolicy, LINELIST, NULL), + V(MinTimeToReportBandwidth, INTERVAL, "1 day"), VAR("MyFamily", LINELIST, MyFamily_lines, NULL), V(NewCircuitPeriod, INTERVAL, "30 seconds"), OBSOLETE("NamingAuthoritativeDirectory"), @@ -3711,6 +3712,13 @@ options_validate_cb(const void *old_options_, void *options_, char **msg) options->HeartbeatPeriod = MIN_HEARTBEAT_PERIOD; } + if (options->MinTimeToReportBandwidth < MIN_MIN_TIME_TO_REPORT_BW && + !options->TestingTorNetwork) { + log_warn(LD_CONFIG, "MinTimeToReportBandwidth is too short; " + "raising to %d seconds.", MIN_MIN_TIME_TO_REPORT_BW); + options->MinTimeToReportBandwidth = MIN_MIN_TIME_TO_REPORT_BW; + } + if (options->KeepalivePeriod < 1) REJECT("KeepalivePeriod option must be positive."); |