summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorNick Mathewson <nickm@torproject.org>2007-10-11 16:06:42 +0000
committerNick Mathewson <nickm@torproject.org>2007-10-11 16:06:42 +0000
commit66701226192f79ecfd60a4d5d7f680572ce26917 (patch)
treeee9fbf23f7f4fb96109ffa8a933fbd9014c66f87
parent0a1dd92d3e498ce579944c95d3c82e97863b9ba6 (diff)
downloadtor-66701226192f79ecfd60a4d5d7f680572ce26917.tar.gz
tor-66701226192f79ecfd60a4d5d7f680572ce26917.zip
r14885@Kushana: nickm | 2007-10-11 10:36:16 -0400
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
-rw-r--r--doc/spec/dir-spec.txt11
-rw-r--r--src/or/config.c2
-rw-r--r--src/or/or.h6
3 files changed, 15 insertions, 4 deletions
diff --git a/doc/spec/dir-spec.txt b/doc/spec/dir-spec.txt
index c1fe74e8dc..6e3099ffa2 100644
--- a/doc/spec/dir-spec.txt
+++ b/doc/spec/dir-spec.txt
@@ -309,17 +309,28 @@ $Id$
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
diff --git a/src/or/config.c b/src/or/config.c
index 380e97bac2..4b548e3392 100644
--- a/src/or/config.c
+++ b/src/or/config.c
@@ -3025,7 +3025,7 @@ options_validate(or_options_t *old_options, or_options_t *options,
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.");
diff --git a/src/or/or.h b/src/or/or.h
index abb3c15fb7..4674a4d295 100644
--- a/src/or/or.h
+++ b/src/or/or.h
@@ -2886,11 +2886,11 @@ format_networkstatus_vote(crypto_pk_env_t *private_key,
/********************************* 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);