Document minimal values for voting times. Use a macro instead of a magic number. Remove an "enforce this" xxxx020 that was already enforced.
svn:r11868
VA-DistSeconds-VoteSeconds: The authorities exchange votes.
+ VA-DistSeconds-VoteSeconds/2: The authorities try to download any
+ votes they don't have.
+
VA-DistSeconds: The authorities calculate the consensus and exchange
signatures.
+ VA-DistSeconds/2: The authorities try to download any signatures
+ they don't have.
+
VA: All authorities have a multiply signed consensus.
VA ... FU: Caches download the consensus.
FU: The consensus is no long the freshest consensus.
+ FU ... VU: Clients download the consensus.
+
VU: The consensus is no longer valid.
+ VoteSeconds and DistSeconds MUST each be at least 20 seconds; FU-VA and
+ VU-FU MUST each be at least 5 minutes.
+
2. Router operation and formats
ORs SHOULD generate a new router descriptor and a new extra-info
if (options->V3AuthNIntervalsValid < 2)
REJECT("V3AuthNIntervalsValid must be at least 2.");
- if (options->V3AuthVotingInterval < 300) {
+ if (options->V3AuthVotingInterval < MIN_VOTE_INTERVAL) {
REJECT("V3AuthVotingInterval is insanely low.");
} else if (options->V3AuthVotingInterval > 24*60*60) {
REJECT("V3AuthVotingInterval is insanely high.");
/********************************* dirvote.c ************************/
-/* XXXX020 enforce */
-/* XXXX020 document in dir-spec.txt */
-/*DOCDOC*/
+/** Lowest allowable value for VoteSeconds. /*
#define MIN_VOTE_SECONDS 20
+/** Lowest allowable value for DistSeconds. */
#define MIN_DIST_SECONDS 20
+/** Smallest allowable voting interval. */
#define MIN_VOTE_INTERVAL 300
void dirvote_free_all(void);