more useful logging for rend services and clients

svn:r1641
This commit is contained in:
Roger Dingledine 2004-04-16 11:48:03 +00:00
parent acf2215946
commit a0a6ed85d1
2 changed files with 14 additions and 9 deletions

View File

@ -208,13 +208,13 @@ rend_client_introduction_acked(circuit_t *circ,
nickname = rend_client_get_random_intro(circ->rend_query); nickname = rend_client_get_random_intro(circ->rend_query);
assert(nickname); assert(nickname);
if (!router_get_by_nickname(nickname)) { if (!router_get_by_nickname(nickname)) {
log_fn(LOG_WARN, "Advertised intro point '%s' is not known. Closing.", log_fn(LOG_WARN, "Advertised intro point '%s' for %s is not known. Closing.",
nickname); nickname, circ->rend_query);
circuit_mark_for_close(circ); circuit_mark_for_close(circ);
return -1; return -1;
} }
log_fn(LOG_INFO, "Chose new intro point %s for %s (circ %d)", log_fn(LOG_INFO, "Chose new intro point %s for %s (circ %d, %d choices left)",
nickname, circ->rend_query, circ->n_circ_id); nickname, circ->rend_query, circ->n_circ_id, ent->parsed->n_intro_points);
circ->state = CIRCUIT_STATE_BUILDING; circ->state = CIRCUIT_STATE_BUILDING;
tor_free(circ->build_state->chosen_exit); tor_free(circ->build_state->chosen_exit);
circ->build_state->chosen_exit = tor_strdup(nickname); circ->build_state->chosen_exit = tor_strdup(nickname);

View File

@ -769,8 +769,11 @@ void rend_services_introduce(void) {
/* Find out which introduction points we have in progress for this service. */ /* Find out which introduction points we have in progress for this service. */
for (j=0;j< smartlist_len(service->intro_nodes); ++j) { for (j=0;j< smartlist_len(service->intro_nodes); ++j) {
router = router_get_by_nickname(smartlist_get(service->intro_nodes,j)); intro = smartlist_get(service->intro_nodes, j);
router = router_get_by_nickname(intro);
if (!router || !find_intro_circuit(router,service->pk_digest)) { if (!router || !find_intro_circuit(router,service->pk_digest)) {
log_fn(LOG_INFO,"Giving up on %s as intro point for %s.",
intro, service->service_id);
smartlist_del(service->intro_nodes,j--); smartlist_del(service->intro_nodes,j--);
changed = service->desc_is_dirty = 1; changed = service->desc_is_dirty = 1;
} }
@ -794,15 +797,16 @@ void rend_services_introduce(void) {
service->intro_exclude_nodes, service->intro_exclude_nodes,
exclude_routers); exclude_routers);
if (!router) { if (!router) {
log_fn(LOG_WARN, "Could only establish %d introduction points", log_fn(LOG_WARN, "Could only establish %d introduction points for %s",
smartlist_len(service->intro_nodes)); smartlist_len(service->intro_nodes), service->service_id);
break; break;
} }
changed = 1; changed = 1;
smartlist_add(intro_routers, router); smartlist_add(intro_routers, router);
smartlist_add(exclude_routers, router); smartlist_add(exclude_routers, router);
smartlist_add(service->intro_nodes, tor_strdup(router->nickname)); smartlist_add(service->intro_nodes, tor_strdup(router->nickname));
log_fn(LOG_INFO,"Picked router %s as an intro point.", router->nickname); log_fn(LOG_INFO,"Picked router %s as an intro point for %s.", router->nickname,
service->service_id);
} }
/* Reset exclude_routers to include obsolete routers only for the next /* Reset exclude_routers to include obsolete routers only for the next
@ -818,7 +822,8 @@ void rend_services_introduce(void) {
intro = smartlist_get(service->intro_nodes, j); intro = smartlist_get(service->intro_nodes, j);
r = rend_service_launch_establish_intro(service, intro); r = rend_service_launch_establish_intro(service, intro);
if (r<0) { if (r<0) {
log_fn(LOG_WARN, "Error launching circuit to node %s", intro); log_fn(LOG_WARN, "Error launching circuit to node %s for service %s",
intro, service->service_id);
} }
} }
} }