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
This commit is contained in:
Roger Dingledine 2006-06-14 11:06:43 +00:00
parent 66db3afb74
commit 09dfe1b265

View File

@ -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 /** 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+ * 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 * We only return one, so this doesn't become stupid when the
* whole network has upgraded. */ * whole network has upgraded. */
@ -1480,7 +1481,8 @@ compute_preferred_testing_list(const char *answer)
if (r->is_running && r->is_valid && 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.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.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)); smartlist_add(choices, r));
router = smartlist_choose(choices); router = smartlist_choose(choices);
smartlist_free(choices); smartlist_free(choices);