[tor-commits] [tor/master] Add GETINFO targets to determine whether md/desc fetching is enabled

nickm at torproject.org nickm at torproject.org
Thu Jun 29 14:18:25 UTC 2017


commit 5dcc6bef1ec69248ff82d111ff64d61ee71f1f11
Author: Nick Mathewson <nickm at torproject.org>
Date:   Wed Jun 21 16:44:28 2017 -0400

    Add GETINFO targets to determine whether md/desc fetching is enabled
    
    Closes ticket 22684.
---
 changes/ticket22684 |  5 +++++
 src/or/control.c    | 10 ++++++++++
 2 files changed, 15 insertions(+)

diff --git a/changes/ticket22684 b/changes/ticket22684
new file mode 100644
index 0000000..f1d9d21
--- /dev/null
+++ b/changes/ticket22684
@@ -0,0 +1,5 @@
+  o Minor features (control):
+    - Add GETINFO desc/download-enabled and md/download-enabled, to
+      inform the controller whether try to download router descriptors
+      and microdescriptors respectively. Closes ticket 22684.
+
diff --git a/src/or/control.c b/src/or/control.c
index b971725..5c15944 100644
--- a/src/or/control.c
+++ b/src/or/control.c
@@ -1919,6 +1919,9 @@ getinfo_helper_dir(control_connection_t *control_conn,
                 "instead of desc/name/*.";
       return 0;
     }
+  } else if (!strcmp(question, "desc/download-enabled")) {
+    int r = we_fetch_router_descriptors(get_options());
+    tor_asprintf(answer, "%d", !!r);
   } else if (!strcmp(question, "desc/all-recent")) {
     routerlist_t *routerlist = router_get_routerlist();
     smartlist_t *sl = smartlist_new();
@@ -2004,6 +2007,9 @@ getinfo_helper_dir(control_connection_t *control_conn,
     if (md && md->body) {
       *answer = tor_strndup(md->body, md->bodylen);
     }
+  } else if (!strcmp(question, "md/download-enabled")) {
+    int r = we_fetch_microdescriptors(get_options());
+    tor_asprintf(answer, "%d", !!r);
   } else if (!strcmpstart(question, "desc-annotations/id/")) {
     const routerinfo_t *ri = NULL;
     const node_t *node =
@@ -3026,9 +3032,13 @@ static const getinfo_item_t getinfo_items[] = {
   PREFIX("desc/name/", dir, "Router descriptors by nickname."),
   ITEM("desc/all-recent", dir,
        "All non-expired, non-superseded router descriptors."),
+  ITEM("desc/download-enabled", dir,
+       "Do we try to download router descriptors?"),
   ITEM("desc/all-recent-extrainfo-hack", dir, NULL), /* Hack. */
   PREFIX("md/id/", dir, "Microdescriptors by ID"),
   PREFIX("md/name/", dir, "Microdescriptors by name"),
+  ITEM("md/download-enabled", dir,
+       "Do we try to download microdescriptors?"),
   PREFIX("extra-info/digest/", dir, "Extra-info documents by digest."),
   PREFIX("hs/client/desc/id", dir,
          "Hidden Service descriptor in client's cache by onion."),





More information about the tor-commits mailing list