GitLab is used only for code review, issue tracking and project management. Canonical locations for source code are still https://gitweb.torproject.org/ https://git.torproject.org/ and git-rw.torproject.org.

Commit fd5ea48c authored by Neel Chauhan's avatar Neel Chauhan Committed by George Kadianakis
Browse files

Add HS v3 status to the SIGUSR1 dumpstats()

parent db4815dd
......@@ -414,6 +414,7 @@ dumpstats(int severity)
rep_hist_dump_stats(now,severity);
rend_service_dump_stats(severity);
hs_service_dump_stats(severity);
}
#ifdef _WIN32
......
......@@ -4103,6 +4103,50 @@ hs_service_load_all_keys(void)
return -1;
}
/** Log the status of introduction points for all version 3 onion services
* at log severity <b>severity</b>.
*/
void
hs_service_dump_stats(int severity)
{
origin_circuit_t *circ;
FOR_EACH_SERVICE_BEGIN(hs) {
tor_log(severity, LD_GENERAL, "Service configured in %s:",
service_escaped_dir(hs));
FOR_EACH_DESCRIPTOR_BEGIN(hs, desc) {
DIGEST256MAP_FOREACH(desc->intro_points.map, key,
hs_service_intro_point_t *, ip) {
const node_t *intro_node;
const char *nickname;
intro_node = get_node_from_intro_point(ip);
if (!intro_node) {
tor_log(severity, LD_GENERAL, " Couldn't find intro point, "
"skipping");
continue;
}
nickname = node_get_nickname(intro_node);
if (!nickname) {
continue;
}
circ = hs_circ_service_get_intro_circ(ip);
if (!circ) {
tor_log(severity, LD_GENERAL, " Intro point at %s: no circuit",
nickname);
continue;
}
tor_log(severity, LD_GENERAL, " Intro point %s: circuit is %s",
nickname, circuit_state_to_string(circ->base_.state));
} DIGEST256MAP_FOREACH_END;
} FOR_EACH_DESCRIPTOR_END;
} FOR_EACH_SERVICE_END;
}
/** Put all service object in the given service list. After this, the caller
* looses ownership of every elements in the list and responsible to free the
* list pointer. */
......
......@@ -373,6 +373,8 @@ void hs_service_upload_desc_to_dir(const char *encoded_desc,
hs_circuit_id_protocol_t
hs_service_exports_circuit_id(const ed25519_public_key_t *pk);
void hs_service_dump_stats(int severity);
#ifdef HS_SERVICE_PRIVATE
#ifdef TOR_UNIT_TESTS
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment