[tor-commits] [tor/master] Only download microdesc consensus from caches that support it

nickm at torproject.org nickm at torproject.org
Thu Jul 14 18:19:47 UTC 2011


commit 642cff5bcad9288aa32f27ea5309019538580438
Author: Nick Mathewson <nickm at torproject.org>
Date:   Thu Jul 14 14:19:18 2011 -0400

    Only download microdesc consensus from caches that support it
    
    Bugfix on 0.2.3.1-alpha; found by arma; never got a bug number.
---
 changes/microdesc_con_dl |    3 +++
 src/or/directory.c       |    4 +++-
 2 files changed, 6 insertions(+), 1 deletions(-)

diff --git a/changes/microdesc_con_dl b/changes/microdesc_con_dl
new file mode 100644
index 0000000..9bf1260
--- /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 ac35d3c..2667f12 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;



More information about the tor-commits mailing list