[Author Prev][Author Next][Thread Prev][Thread Next][Author Index][Thread Index]
[or-cvs] r10153: Backport candidate: count it as a failure if we fetch a vali (in tor/trunk: doc/spec src/or)
- To: or-cvs@xxxxxxxxxxxxx
- Subject: [or-cvs] r10153: Backport candidate: count it as a failure if we fetch a vali (in tor/trunk: doc/spec src/or)
- From: arma@xxxxxxxx
- Date: Thu, 10 May 2007 01:12:21 -0400 (EDT)
- Delivered-to: archiver@seul.org
- Delivered-to: or-cvs-outgoing@seul.org
- Delivered-to: or-cvs@seul.org
- Delivery-date: Thu, 10 May 2007 01:12:29 -0400
- Reply-to: or-dev@xxxxxxxxxxxxx
- Sender: owner-or-cvs@xxxxxxxxxxxxx
Author: arma
Date: 2007-05-10 01:12:20 -0400 (Thu, 10 May 2007)
New Revision: 10153
Modified:
   tor/trunk/doc/spec/dir-spec-v2.txt
   tor/trunk/src/or/routerlist.c
Log:
Backport candidate: count it as a failure if we fetch a valid 
network-status but we don't want to keep it. Otherwise we'll keep fetching
it and keep not wanting to keep it. Fixes part of bug 422.
Modified: tor/trunk/doc/spec/dir-spec-v2.txt
===================================================================
--- tor/trunk/doc/spec/dir-spec-v2.txt	2007-05-10 04:04:44 UTC (rev 10152)
+++ tor/trunk/doc/spec/dir-spec-v2.txt	2007-05-10 05:12:20 UTC (rev 10153)
@@ -658,9 +658,10 @@
    When choosing which documents to download, clients treat their list of
    directory authorities as a circular ring, and begin with the authority
    appearing immediately after the authority for their most recently
-   retrieved network-status document.  If this attempt fails, the client
-   retries at other caches several times, before moving on to the next
-   network-status document in sequence.
+   retrieved network-status document.  If this attempt fails (either it
+   fails to download at all, or the one it gets is not as good as the
+   one it has), the client retries at other caches several times, before
+   moving on to the next network-status document in sequence.
 
    Clients discard all network-status documents over 24 hours old.
 
Modified: tor/trunk/src/or/routerlist.c
===================================================================
--- tor/trunk/src/or/routerlist.c	2007-05-10 04:04:44 UTC (rev 10152)
+++ tor/trunk/src/or/routerlist.c	2007-05-10 05:12:20 UTC (rev 10153)
@@ -2795,6 +2795,7 @@
                   ns->networkstatus_digest, DIGEST_LEN)) {
         /* Same one we had before. */
         networkstatus_free(ns);
+        tor_assert(trusted_dir);
         log_info(LD_DIR,
                  "Not replacing network-status from %s (published %s); "
                  "we already have it.",
@@ -2809,16 +2810,19 @@
           }
           old_ns->received_on = arrived_at;
         }
+        ++trusted_dir->n_networkstatus_failures;
         return 0;
       } else if (old_ns->published_on >= ns->published_on) {
         char old_published[ISO_TIME_LEN+1];
         format_iso_time(old_published, old_ns->published_on);
+        tor_assert(trusted_dir);
         log_info(LD_DIR,
                  "Not replacing network-status from %s (published %s);"
                  " we have a newer one (published %s) for this authority.",
                  trusted_dir->description, published,
                  old_published);
         networkstatus_free(ns);
+        ++trusted_dir->n_networkstatus_failures;
         return 0;
       } else {
         networkstatus_free(old_ns);