瀏覽代碼

bugfix: discourage picking directory authorities as our TestVia
hops, even if they're running the right versions, since we probably
already have a connection established to them.


svn:r6622

Roger Dingledine 19 年之前
父節點
當前提交
09dfe1b265
共有 1 個文件被更改,包括 4 次插入2 次删除
  1. 4 2
      src/or/circuitbuild.c

+ 4 - 2
src/or/circuitbuild.c

@@ -1459,7 +1459,8 @@ onion_append_to_cpath(crypt_path_t **head_ptr, crypt_path_t *new_hop)
 
 /** Pick a random server digest that's running a Tor version that
  * doesn't have the reachability bug. These are versions 0.1.1.22+
- * and 0.1.2.1-alpha+.
+ * and 0.1.2.1-alpha+. Avoid picking authorities, since we're
+ * probably already connected to them.
  *
  * We only return one, so this doesn't become stupid when the
  * whole network has upgraded. */
@@ -1480,7 +1481,8 @@ compute_preferred_testing_list(const char *answer)
     if (r->is_running && r->is_valid &&
         ((tor_version_as_new_as(r->platform,"0.1.1.21-cvs") &&
           !tor_version_as_new_as(r->platform,"0.1.2.0-alpha-cvs")) ||
-         tor_version_as_new_as(r->platform,"0.1.2.1-alpha")))
+         tor_version_as_new_as(r->platform,"0.1.2.1-alpha")) &&
+        !router_get_trusteddirserver_by_digest(r->cache_info.identity_digest))
       smartlist_add(choices, r));
   router = smartlist_choose(choices);
   smartlist_free(choices);