[tor-commits] [tor/master] Merge remote-tracking branches 'rransom/bug2722' and 'rransom/bug2722b' into maint-0.2.2

nickm at torproject.org nickm at torproject.org
Fri Apr 29 00:38:20 UTC 2011


commit 6b9aadd557de171f0de7b700ba427a9a37a545fa
Merge: c122897 eb50e3d 134da2f
Author: Nick Mathewson <nickm at torproject.org>
Date:   Thu Apr 28 20:36:38 2011 -0400

    Merge remote-tracking branches 'rransom/bug2722' and 'rransom/bug2722b' into maint-0.2.2

 changes/bug2722     |   11 +++++++++++
 src/or/dirserv.c    |    2 ++
 src/or/routerlist.c |   10 ++--------
 3 files changed, 15 insertions(+), 8 deletions(-)

diff --cc src/or/routerlist.c
index d9f099b,5e9c82a,4deff53..f567ccd
--- a/src/or/routerlist.c
+++ b/src/or/routerlist.c
@@@@ -506,36 -463,37 -506,36 +506,36 @@@@ authority_certs_fetch_missing(networkst
               !digestmap_get(pending, voter->identity_digest)) {
             log_notice(LD_DIR, "We're missing a certificate from authority "
                        "with signing key %s: launching request.",
 -                      hex_str(voter->signing_key_digest, DIGEST_LEN));
 -           smartlist_add(missing_digests, voter->identity_digest);
 +                      hex_str(sig->signing_key_digest, DIGEST_LEN));
 +           smartlist_add(missing_digests, sig->identity_digest);
           }
 -       });
 +       } SMARTLIST_FOREACH_END(sig);
 +     } SMARTLIST_FOREACH_END(voter);
     }
 -   SMARTLIST_FOREACH(trusted_dir_servers, trusted_dir_server_t *, ds,
 -     {
 -       int found = 0;
 -       if (!(ds->type & V3_AUTHORITY))
 -         continue;
 -       if (smartlist_digest_isin(missing_digests, ds->v3_identity_digest))
 -         continue;
 -       cl = get_cert_list(ds->v3_identity_digest);
 -       SMARTLIST_FOREACH(cl->certs, authority_cert_t *, cert,
 -         {
 -           if (!ftime_definitely_after(now, cert->expires)) {
 -             /* It's not expired, and we weren't looking for something to
 -              * verify a consensus with.  Call it done. */
 -             download_status_reset(&cl->dl_status);
 -             found = 1;
 -             break;
 -           }
 -         });
 -       if (!found &&
 -           download_status_is_ready(&cl->dl_status, now,MAX_CERT_DL_FAILURES) &&
 -           !digestmap_get(pending, ds->v3_identity_digest)) {
 -         log_notice(LD_DIR, "No current certificate known for authority %s; "
 -                    "launching request.", ds->nickname);
 -         smartlist_add(missing_digests, ds->v3_identity_digest);
 +   SMARTLIST_FOREACH_BEGIN(trusted_dir_servers, trusted_dir_server_t *, ds) {
 +     int found = 0;
 +     if (!(ds->type & V3_AUTHORITY))
 +       continue;
 +     if (smartlist_digest_isin(missing_digests, ds->v3_identity_digest))
 +       continue;
 +     cl = get_cert_list(ds->v3_identity_digest);
 +     SMARTLIST_FOREACH(cl->certs, authority_cert_t *, cert, {
 +       if (now < cert->expires) {
 +         /* It's not expired, and we weren't looking for something to
 +          * verify a consensus with.  Call it done. */
 +         download_status_reset(&cl->dl_status);
 +         found = 1;
 +         break;
         }
       });
 +     if (!found &&
 +         download_status_is_ready(&cl->dl_status, now,MAX_CERT_DL_FAILURES) &&
 +         !digestmap_get(pending, ds->v3_identity_digest)) {
  -      log_notice(LD_DIR, "No current certificate known for authority %s; "
  -                 "launching request.", ds->nickname);
 ++      log_info(LD_DIR, "No current certificate known for authority %s; "
 ++               "launching request.", ds->nickname);
 +         smartlist_add(missing_digests, ds->v3_identity_digest);
 +     }
 +   } SMARTLIST_FOREACH_END(ds);
   
     if (!smartlist_len(missing_digests)) {
       goto done;
@@@@ -5594,14 -5192,9 -5550,13 +5594,14 @@@@ routerset_get_all_routers(smartlist_t *
     }
   }
   
 - /** Add to <b>target</b> every routerinfo_t from <b>source</b> that is in
 -  * <b>include</b>, but not excluded in a more specific fashion by
 -  * <b>exclude</b>.  If <b>running_only</b>, only include running routers.
 ++#if 0
 + /** Add to <b>target</b> every routerinfo_t from <b>source</b> except:
 +  *
 +  * 1) Don't add it if <b>include</b> is non-empty and the relay isn't in
 +  * <b>include</b>; and
 +  * 2) Don't add it if <b>exclude</b> is non-empty and the relay is
 +  * excluded in a more specific fashion by <b>exclude</b>.
 +  * 3) If <b>running_only</b>, don't add non-running routers.
    */
   void
   routersets_get_disjunction(smartlist_t *target,





More information about the tor-commits mailing list