Browse Source

r15915@catbus: nickm | 2007-10-18 10:26:44 -0400
Stop incessant notices about when we think the expected valid-after time should be, if we are not an authority.


svn:r12022

Nick Mathewson 16 years ago
parent
commit
192e3d71d4
4 changed files with 16 additions and 9 deletions
  1. 12 5
      src/or/dirvote.c
  2. 1 1
      src/or/main.c
  3. 1 1
      src/or/networkstatus.c
  4. 2 2
      src/or/or.h

+ 12 - 5
src/or/dirvote.c

@@ -1061,12 +1061,17 @@ static struct {
 /** Set voting_schedule to hold the timing for the next vote we should be
  * doing. */
 void
-dirvote_recalculate_timing(time_t now)
+dirvote_recalculate_timing(or_options_t *options, time_t now)
 {
   int interval, vote_delay, dist_delay;
   time_t start;
   time_t end;
-  networkstatus_vote_t *consensus = networkstatus_get_live_consensus(now);
+  networkstatus_vote_t *consensus;
+
+  if (!authdir_mode_v3(options))
+    return;
+
+  consensus = networkstatus_get_live_consensus(now);
 
   memset(&voting_schedule, 0, sizeof(voting_schedule));
 
@@ -1106,8 +1111,10 @@ dirvote_recalculate_timing(time_t now)
 
 /** Entry point: Take whatever voting actions are pending as of <b>now</b>. */
 void
-dirvote_act(time_t now)
+dirvote_act(or_options_t *options, time_t now)
 {
+  if (!authdir_mode_v3(options))
+    return;
   if (!voting_schedule.voting_starts) {
     char *keys = list_v3_auth_ids();
     authority_cert_t *c = get_my_v3_authority_cert();
@@ -1115,7 +1122,7 @@ dirvote_act(time_t now)
                "Mine is %s.",
                keys, hex_str(c->cache_info.identity_digest, DIGEST_LEN));
     tor_free(keys);
-    dirvote_recalculate_timing(now);
+    dirvote_recalculate_timing(options, now);
   }
   if (voting_schedule.voting_starts < now && !voting_schedule.have_voted) {
     log_notice(LD_DIR, "Time to vote.");
@@ -1150,7 +1157,7 @@ dirvote_act(time_t now)
     voting_schedule.have_published_consensus = 1;
     /* XXXX020 we will want to try again later if we haven't got enough
      * signatures yet. */
-    dirvote_recalculate_timing(now);
+    dirvote_recalculate_timing(options, now);
   }
 }
 

+ 1 - 1
src/or/main.c

@@ -1006,7 +1006,7 @@ run_scheduled_events(time_t now)
 
   /** 2c. Let directory voting happen. */
   if (authdir_mode_v3(options))
-    dirvote_act(now);
+    dirvote_act(options, now);
 
   /** 3a. Every second, we examine pending circuits and prune the
    *    ones which have been pending for more than a few seconds.

+ 1 - 1
src/or/networkstatus.c

@@ -984,7 +984,7 @@ networkstatus_set_current_consensus(const char *consensus, int from_cache,
   current_consensus = c;
 
   update_consensus_networkstatus_fetch_time(now);
-  dirvote_recalculate_timing(now);
+  dirvote_recalculate_timing(get_options(), now);
   routerstatus_list_update_named_server_map();
 
   if (!from_cache) {

+ 2 - 2
src/or/or.h

@@ -2932,8 +2932,8 @@ typedef struct vote_timing_t {
 /* vote scheduling */
 void dirvote_get_preferred_voting_intervals(vote_timing_t *timing_out);
 time_t dirvote_get_start_of_next_interval(time_t now, int interval);
-void dirvote_recalculate_timing(time_t now);
-void dirvote_act(time_t now);
+void dirvote_recalculate_timing(or_options_t *options, time_t now);
+void dirvote_act(or_options_t *options, time_t now);
 
 /* invoked on timers and by outside triggers. */
 struct pending_vote_t * dirvote_add_vote(const char *vote_body,