Skip to content
Snippets Groups Projects
Commit 43a8457b authored by Nick Mathewson's avatar Nick Mathewson :game_die:
Browse files

Merge remote-tracking branch 'dgoulet/bug14845_026_01'

parents 01d988d7 65172190
No related branches found
No related tags found
No related merge requests found
......@@ -41,6 +41,8 @@
#include "router.h"
#include "routerlist.h"
#include "routerparse.h"
#include "rendclient.h"
#include "rendcommon.h"
#ifndef _WIN32
#include <pwd.h>
......@@ -1713,6 +1715,25 @@ getinfo_helper_dir(control_connection_t *control_conn,
*answer = smartlist_join_strings(sl, "", 0, NULL);
SMARTLIST_FOREACH(sl, char *, c, tor_free(c));
smartlist_free(sl);
} else if (!strcmpstart(question, "hs/client/desc/id/")) {
char *msg;
rend_cache_entry_t *e = NULL;
question += strlen("hs/client/desc/id/");
if (strlen(question) != REND_SERVICE_ID_LEN_BASE32) {
tor_asprintf(&msg, "\"%s\" invalid address.", question);
*errmsg = msg;
return -1;
}
if (rend_cache_lookup_entry(question, -1, &e) > 0) {
/* Descriptor found in cache */
*answer = tor_strdup(e->desc);
} else {
tor_asprintf(&msg, "\"%s\" not found in cache.", question);
*errmsg = msg;
return -1;
}
} else if (!strcmpstart(question, "md/id/")) {
const node_t *node = node_get_by_hex_id(question+strlen("md/id/"));
const microdesc_t *md = NULL;
......@@ -2216,6 +2237,8 @@ static const getinfo_item_t getinfo_items[] = {
PREFIX("md/id/", dir, "Microdescriptors by ID"),
PREFIX("md/name/", dir, "Microdescriptors by name"),
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."),
PREFIX("net/listeners/", listeners, "Bound addresses by type"),
ITEM("ns/all", networkstatus,
"Brief summary of router status (v2 directory format)"),
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment