[or-cvs] r12359: Nov 03 11:15:13.103 [info] connection_dir_client_reached_eof (tor/trunk/src/or)

arma at seul.org arma at seul.org
Sat Nov 3 15:55:15 UTC 2007


Author: arma
Date: 2007-11-03 11:55:15 -0400 (Sat, 03 Nov 2007)
New Revision: 12359

Modified:
   tor/trunk/src/or/directory.c
   tor/trunk/src/or/networkstatus.c
   tor/trunk/src/or/routerparse.c
Log:
Nov 03 11:15:13.103 [info] connection_dir_client_reached_eof(): Received consensus directory (size 330543) from server '86.59.21.38:80'
Nov 03 11:15:13.129 [info] networkstatus_set_current_consensus(): Got a consensus we already have
Nov 03 11:15:13.129 [warn] Unable to load consensus directory dowloaded from server '86.59.21.38:80'


Modified: tor/trunk/src/or/directory.c
===================================================================
--- tor/trunk/src/or/directory.c	2007-11-03 15:37:06 UTC (rev 12358)
+++ tor/trunk/src/or/directory.c	2007-11-03 15:55:15 UTC (rev 12359)
@@ -1455,6 +1455,7 @@
   }
 
   if (conn->_base.purpose == DIR_PURPOSE_FETCH_CONSENSUS) {
+    int r;
     if (status_code != 200) {
       int severity = (status_code == 304) ? LOG_INFO : LOG_WARN;
       log(severity, LD_DIR,
@@ -1468,9 +1469,10 @@
     }
     log_info(LD_DIR,"Received consensus directory (size %d) from server "
              "'%s:%d'",(int) body_len, conn->_base.address, conn->_base.port);
-    if (networkstatus_set_current_consensus(body, 0, 0)<0) {
-      log_warn(LD_DIR, "Unable to load consensus directory dowloaded from "
-               "server '%s:%d'", conn->_base.address, conn->_base.port);
+    if ((r=networkstatus_set_current_consensus(body, 0, 0))<0) {
+      log_fn(r<-1?LOG_WARN:LOG_INFO, LD_DIR,
+             "Unable to load consensus directory downloaded from "
+             "server '%s:%d'", conn->_base.address, conn->_base.port);
       tor_free(body); tor_free(headers); tor_free(reason);
       networkstatus_consensus_download_failed(0);
       return -1;

Modified: tor/trunk/src/or/networkstatus.c
===================================================================
--- tor/trunk/src/or/networkstatus.c	2007-11-03 15:37:06 UTC (rev 12358)
+++ tor/trunk/src/or/networkstatus.c	2007-11-03 15:55:15 UTC (rev 12359)
@@ -1210,15 +1210,18 @@
  * <b>consensus</b>.  If we don't have enough certificates to validate it,
  * store it in consensus_waiting_for_certs and launch a certificate fetch.
  *
- * Return 0 on success, -1 on failure.  On -1, caller should increment
+ * Return 0 on success, <0 on failure.  On failure, caller should increment
  * the failure count as appropriate.
+ *
+ * We return -1 for mild failures that don't need to be reported to the
+ * user, and -2 for more serious problems.
  */
 int
 networkstatus_set_current_consensus(const char *consensus, int from_cache,
                                     int was_waiting_for_certs)
 {
   networkstatus_vote_t *c;
-  int r, result=-1;
+  int r, result = -1;
   time_t now = time(NULL);
   char *unverified_fname = NULL, *consensus_fname = NULL;
 
@@ -1226,6 +1229,7 @@
   c = networkstatus_parse_vote_from_string(consensus, NULL, 0);
   if (!c) {
     log_warn(LD_DIR, "Unable to parse networkstatus consensus");
+    result = -2;
     goto done;
   }
 
@@ -1251,9 +1255,12 @@
   if ((r=networkstatus_check_consensus_signature(c, 1))<0) {
     if (r == -1 && !was_waiting_for_certs) {
       /* Okay, so it _might_ be signed enough if we get more certificates. */
-      if (!was_waiting_for_certs)
+      if (!was_waiting_for_certs) {
+        /* XXX020 eventually downgrade this log severity, or make it so
+         * users know why they're being told. */
         log_notice(LD_DIR, "Not enough certificates to check networkstatus "
                    "consensus");
+      }
       if (!current_consensus ||
           c->valid_after > current_consensus->valid_after) {
         if (consensus_waiting_for_certs)
@@ -1277,11 +1284,13 @@
           unlink(unverified_fname);
       }
       goto done;
-    } else  {
+    } else {
       /* This can never be signed enough:  Kill it. */
-      if (!was_waiting_for_certs)
+      if (!was_waiting_for_certs) {
         log_warn(LD_DIR, "Not enough good signatures on networkstatus "
                  "consensus");
+        result = -2;
+      }
       if (was_waiting_for_certs && (r < -1) && from_cache)
         unlink(unverified_fname);
       goto done;

Modified: tor/trunk/src/or/routerparse.c
===================================================================
--- tor/trunk/src/or/routerparse.c	2007-11-03 15:37:06 UTC (rev 12358)
+++ tor/trunk/src/or/routerparse.c	2007-11-03 15:55:15 UTC (rev 12359)
@@ -3309,7 +3309,7 @@
      * valid numbers. -KL */
     /* As above, increased version numbers are for
      * non-backward-compatible changes.  This code doesn't know how to
-     * parse a v3 descriptor, because a v3 descriptor is by definitition not
+     * parse a v3 descriptor, because a v3 descriptor is by definition not
      * compatible with this code.  */
     version = atoi(smartlist_get(versions, i));
     result->protocols |= 1 << version;



More information about the tor-commits mailing list