Merge branch 'ticket22684'

This commit is contained in:
Nick Mathewson 2017-06-29 10:16:15 -04:00
commit bb5968cae1
2 changed files with 15 additions and 0 deletions

5
changes/ticket22684 Normal file
View File

@ -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.

View File

@ -1919,6 +1919,9 @@ getinfo_helper_dir(control_connection_t *control_conn,
"instead of desc/name/*."; "instead of desc/name/*.";
return 0; 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")) { } else if (!strcmp(question, "desc/all-recent")) {
routerlist_t *routerlist = router_get_routerlist(); routerlist_t *routerlist = router_get_routerlist();
smartlist_t *sl = smartlist_new(); smartlist_t *sl = smartlist_new();
@ -2004,6 +2007,9 @@ getinfo_helper_dir(control_connection_t *control_conn,
if (md && md->body) { if (md && md->body) {
*answer = tor_strndup(md->body, md->bodylen); *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/")) { } else if (!strcmpstart(question, "desc-annotations/id/")) {
const routerinfo_t *ri = NULL; const routerinfo_t *ri = NULL;
const node_t *node = const node_t *node =
@ -3026,9 +3032,13 @@ static const getinfo_item_t getinfo_items[] = {
PREFIX("desc/name/", dir, "Router descriptors by nickname."), PREFIX("desc/name/", dir, "Router descriptors by nickname."),
ITEM("desc/all-recent", dir, ITEM("desc/all-recent", dir,
"All non-expired, non-superseded router descriptors."), "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. */ ITEM("desc/all-recent-extrainfo-hack", dir, NULL), /* Hack. */
PREFIX("md/id/", dir, "Microdescriptors by ID"), PREFIX("md/id/", dir, "Microdescriptors by ID"),
PREFIX("md/name/", dir, "Microdescriptors by name"), 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("extra-info/digest/", dir, "Extra-info documents by digest."),
PREFIX("hs/client/desc/id", dir, PREFIX("hs/client/desc/id", dir,
"Hidden Service descriptor in client's cache by onion."), "Hidden Service descriptor in client's cache by onion."),