Merge remote branch 'origin/maint-0.2.2'

This commit is contained in:
Nick Mathewson 2010-12-07 11:37:14 -05:00
commit 4e9f9a4ee8
2 changed files with 19 additions and 4 deletions

9
changes/bug2081_followup Normal file
View File

@ -0,0 +1,9 @@
o Minor features (authorities)
- Directory authorities now reject relays running any versions of
Tor between 0.2.1.3-alpha and 0.2.1.18 inclusive; they have
known bugs that keep RELAY_EARLY cells from working on rendezvous
circuits. Followup to fix for bug 2081.
- Directory authorities now reject relays running any version of Tor
older than 0.2.0.26-rc. That is the earliest version that fetches
current directory information correctly. Fix for bug 2156.

View File

@ -386,13 +386,19 @@ dirserv_get_status_impl(const char *id_digest, const char *nickname,
strmap_size(fingerprint_list->fp_by_name), strmap_size(fingerprint_list->fp_by_name),
digestmap_size(fingerprint_list->status_by_digest)); digestmap_size(fingerprint_list->status_by_digest));
/* Tor 0.1.2.x is pretty old, but there are a lot of them running still, /* Tor 0.2.0.26-rc is the oldest version that currently caches the right
* and there aren't any critical relay-side vulnerabilities. Once more * directory information. Once more of them die off, we should raise this
* of them die off, we should raise this minimum to 0.2.0.x. */ * minimum. */
if (platform && !tor_version_as_new_as(platform,"0.1.2.14")) { if (platform && !tor_version_as_new_as(platform,"0.2.0.26-rc")) {
if (msg) if (msg)
*msg = "Tor version is far too old to work."; *msg = "Tor version is far too old to work.";
return FP_REJECT; return FP_REJECT;
} else if (platform && tor_version_as_new_as(platform,"0.2.1.3-alpha")
&& !tor_version_as_new_as(platform, "0.2.1.19")) {
/* These versions mishandled RELAY_EARLY cells on rend circuits. */
if (msg)
*msg = "Tor version is too buggy to work.";
return FP_REJECT;
} }
result = dirserv_get_name_status(id_digest, nickname); result = dirserv_get_name_status(id_digest, nickname);