summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-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;