summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorNick Mathewson <nickm@torproject.org>2010-12-07 11:37:14 -0500
committerNick Mathewson <nickm@torproject.org>2010-12-07 11:37:14 -0500
commit4e9f9a4ee886ca91690d9bfeeab18163845bfc71 (patch)
tree9e3dba0d510d998b9eb11f95669ae00d582256a1 /src
parented0eeed835d5fd3e3960c6f1b01cc7db7a011439 (diff)
parentf924fbf19f1244eed568bc799f77d8fb288c801d (diff)
downloadtor-4e9f9a4ee886ca91690d9bfeeab18163845bfc71.tar.gz
tor-4e9f9a4ee886ca91690d9bfeeab18163845bfc71.zip
Merge remote branch 'origin/maint-0.2.2'
Diffstat (limited to 'src')
-rw-r--r--src/or/dirserv.c14
1 files changed, 10 insertions, 4 deletions
diff --git a/src/or/dirserv.c b/src/or/dirserv.c
index 1e237dff04..ec848a64b1 100644
--- a/src/or/dirserv.c
+++ b/src/or/dirserv.c
@@ -386,13 +386,19 @@ dirserv_get_status_impl(const char *id_digest, const char *nickname,
strmap_size(fingerprint_list->fp_by_name),
digestmap_size(fingerprint_list->status_by_digest));
- /* Tor 0.1.2.x is pretty old, but there are a lot of them running still,
- * and there aren't any critical relay-side vulnerabilities. Once more
- * of them die off, we should raise this minimum to 0.2.0.x. */
- if (platform && !tor_version_as_new_as(platform,"0.1.2.14")) {
+ /* Tor 0.2.0.26-rc is the oldest version that currently caches the right
+ * directory information. Once more of them die off, we should raise this
+ * minimum. */
+ if (platform && !tor_version_as_new_as(platform,"0.2.0.26-rc")) {
if (msg)
*msg = "Tor version is far too old to work.";
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);