mirror of
https://gitlab.torproject.org/tpo/core/tor.git
synced 2024-11-11 05:33:47 +01:00
Dump introduction point status on kill -USR1
svn:r1584
This commit is contained in:
parent
f9ade70cf9
commit
4e1b65f53d
@ -747,6 +747,7 @@ static void dumpstats(int severity) {
|
||||
(int) (stats_n_bytes_read/stats_n_seconds_reading));
|
||||
|
||||
rep_hist_dump_stats(now,severity);
|
||||
rend_service_dump_stats(severity);
|
||||
}
|
||||
|
||||
int network_init(void)
|
||||
|
@ -684,6 +684,7 @@ void assert_buf_ok(buf_t *buf);
|
||||
|
||||
/********************************* circuit.c ***************************/
|
||||
|
||||
extern char *circuit_state_to_string[];
|
||||
void circuit_add(circuit_t *circ);
|
||||
void circuit_remove(circuit_t *circ);
|
||||
circuit_t *circuit_new(uint16_t p_circ_id, connection_t *p_conn);
|
||||
@ -1111,7 +1112,7 @@ int rend_service_intro_established(circuit_t *circuit, const char *request, int
|
||||
void rend_service_rendezvous_is_ready(circuit_t *circuit);
|
||||
int rend_service_introduce(circuit_t *circuit, const char *request, int request_len);
|
||||
int rend_service_set_connection_addr_port(connection_t *conn, circuit_t *circ);
|
||||
|
||||
void rend_service_dump_stats(int severity);
|
||||
|
||||
/********************************* rendmid.c *******************************/
|
||||
int rend_mid_establish_intro(circuit_t *circ, const char *request, int request_len);
|
||||
|
@ -732,6 +732,7 @@ int rend_services_init(void) {
|
||||
if (rend_encode_service_descriptor(service->desc,
|
||||
service->private_key,
|
||||
&desc, &desc_len)<0) {
|
||||
|
||||
log_fn(LOG_WARN, "Couldn't encode service descriptor; not uploading");
|
||||
continue;
|
||||
}
|
||||
@ -755,6 +756,36 @@ int rend_services_init(void) {
|
||||
return 0;
|
||||
}
|
||||
|
||||
void
|
||||
rend_service_dump_stats(int severity)
|
||||
{
|
||||
int i,j;
|
||||
routerinfo_t *router;
|
||||
rend_service_t *service;
|
||||
char *nickname;
|
||||
circuit_t *circ;
|
||||
|
||||
for (i=0; i < smartlist_len(rend_service_list); ++i) {
|
||||
service = smartlist_get(rend_service_list, i);
|
||||
log(severity, "Service configured in %s:", service->directory);
|
||||
for (j=0; j < smartlist_len(service->intro_nodes); ++j) {
|
||||
nickname = smartlist_get(service->intro_nodes, j);
|
||||
router = router_get_by_nickname(smartlist_get(service->intro_nodes,j));
|
||||
if (!router) {
|
||||
log(severity, " Intro point at %s: unrecognized router",nickname);
|
||||
continue;
|
||||
}
|
||||
circ = find_intro_circuit(router, service->pk_digest);
|
||||
if (!circ) {
|
||||
log(severity, " Intro point at %s: no circuit",nickname);
|
||||
continue;
|
||||
}
|
||||
log(severity, " Intro point at %s: circuit is %s",nickname,
|
||||
circuit_state_to_string[circ->state]);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/* This is a beginning rendezvous stream. Look up conn->port,
|
||||
* and assign the actual conn->addr and conn->port. Return -1
|
||||
* if failure, or 0 for success.
|
||||
|
Loading…
Reference in New Issue
Block a user