|
@@ -413,6 +413,7 @@ static config_var_t option_vars_[] = {
|
|
|
V(TestingV3AuthInitialVotingInterval, INTERVAL, "30 minutes"),
|
|
|
V(TestingV3AuthInitialVoteDelay, INTERVAL, "5 minutes"),
|
|
|
V(TestingV3AuthInitialDistDelay, INTERVAL, "5 minutes"),
|
|
|
+ V(TestingV3AuthVotingStartOffset, INTERVAL, "0"),
|
|
|
V(V3AuthVotingInterval, INTERVAL, "1 hour"),
|
|
|
V(V3AuthVoteDelay, INTERVAL, "5 minutes"),
|
|
|
V(V3AuthDistDelay, INTERVAL, "5 minutes"),
|
|
@@ -475,6 +476,7 @@ static const config_var_t testing_tor_network_defaults[] = {
|
|
|
V(TestingV3AuthInitialVotingInterval, INTERVAL, "5 minutes"),
|
|
|
V(TestingV3AuthInitialVoteDelay, INTERVAL, "20 seconds"),
|
|
|
V(TestingV3AuthInitialDistDelay, INTERVAL, "20 seconds"),
|
|
|
+ V(TestingV3AuthVotingStartOffset, INTERVAL, "0"),
|
|
|
V(TestingAuthDirTimeToLearnReachability, INTERVAL, "0 minutes"),
|
|
|
V(TestingEstimatedDescriptorPropagationTime, INTERVAL, "0 minutes"),
|
|
|
V(MinUptimeHidServDirectoryV2, INTERVAL, "0 minutes"),
|
|
@@ -3224,6 +3226,7 @@ options_validate(or_options_t *old_options, or_options_t *options,
|
|
|
CHECK_DEFAULT(TestingV3AuthInitialVotingInterval);
|
|
|
CHECK_DEFAULT(TestingV3AuthInitialVoteDelay);
|
|
|
CHECK_DEFAULT(TestingV3AuthInitialDistDelay);
|
|
|
+ CHECK_DEFAULT(TestingV3AuthVotingStartOffset);
|
|
|
CHECK_DEFAULT(TestingAuthDirTimeToLearnReachability);
|
|
|
CHECK_DEFAULT(TestingEstimatedDescriptorPropagationTime);
|
|
|
CHECK_DEFAULT(TestingServerDownloadSchedule);
|
|
@@ -3261,6 +3264,13 @@ options_validate(or_options_t *old_options, or_options_t *options,
|
|
|
"must be less than half TestingV3AuthInitialVotingInterval");
|
|
|
}
|
|
|
|
|
|
+ if (options->TestingV3AuthVotingStartOffset >
|
|
|
+ MIN(options->TestingV3AuthInitialVotingInterval,
|
|
|
+ options->V3AuthVotingInterval)) {
|
|
|
+ REJECT("TestingV3AuthVotingStartOffset is higher than the voting "
|
|
|
+ "interval.");
|
|
|
+ }
|
|
|
+
|
|
|
if (options->TestingAuthDirTimeToLearnReachability < 0) {
|
|
|
REJECT("TestingAuthDirTimeToLearnReachability must be non-negative.");
|
|
|
} else if (options->TestingAuthDirTimeToLearnReachability > 2*60*60) {
|