瀏覽代碼

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

Nick Mathewson 16 年之前
父節點
當前提交
6670122619
共有 3 個文件被更改,包括 15 次插入4 次删除
  1. 11 0
      doc/spec/dir-spec.txt
  2. 1 1
      src/or/config.c
  3. 3 3
      src/or/or.h

+ 11 - 0
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

+ 1 - 1
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.");

+ 3 - 3
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);