summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorNick Mathewson <nickm@torproject.org>2011-07-14 14:19:18 -0400
committerNick Mathewson <nickm@torproject.org>2011-07-14 14:19:18 -0400
commit642cff5bcad9288aa32f27ea5309019538580438 (patch)
treeb457e0fc14838421c6e273d5431997c9b1b9ac77
parentd67b304b20a3dbca9ad3072b33d6e1d54680f220 (diff)
downloadtor-642cff5bcad9288aa32f27ea5309019538580438.tar.gz
tor-642cff5bcad9288aa32f27ea5309019538580438.zip
Only download microdesc consensus from caches that support it
Bugfix on 0.2.3.1-alpha; found by arma; never got a bug number.
-rw-r--r--changes/microdesc_con_dl3
-rw-r--r--src/or/directory.c4
2 files changed, 6 insertions, 1 deletions
diff --git a/changes/microdesc_con_dl b/changes/microdesc_con_dl
new file mode 100644
index 0000000000..9bf1260769
--- /dev/null
+++ b/changes/microdesc_con_dl
@@ -0,0 +1,3 @@
+ o Minor bugfixes:
+ - Only try to download a microdescriptor-flavored consensus from
+ a directory cache that provides those. Bugfix on 0.2.3.1-alpha.
diff --git a/src/or/directory.c b/src/or/directory.c
index ac35d3c599..2667f1212f 100644
--- a/src/or/directory.c
+++ b/src/or/directory.c
@@ -379,11 +379,13 @@ directory_get_from_dirserver(uint8_t dir_purpose, uint8_t router_purpose,
break;
case DIR_PURPOSE_FETCH_STATUS_VOTE:
case DIR_PURPOSE_FETCH_DETACHED_SIGNATURES:
+ case DIR_PURPOSE_FETCH_CERTIFICATE:
type = V3_DIRINFO;
break;
case DIR_PURPOSE_FETCH_CONSENSUS:
- case DIR_PURPOSE_FETCH_CERTIFICATE:
type = V3_DIRINFO;
+ if (resource && !strcmp(resource,"microdesc"))
+ type |= MICRODESC_DIRINFO;
break;
case DIR_PURPOSE_FETCH_MICRODESC:
type = MICRODESC_DIRINFO;