summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRoger Dingledine <arma@torproject.org>2007-09-19 00:30:19 +0000
committerRoger Dingledine <arma@torproject.org>2007-09-19 00:30:19 +0000
commita1e923c50d327241da6211f338e6db6919fc9e90 (patch)
tree18fdd03e1d56c1c28c2e09e6297d4ddde5153e2c
parent2a2cee9e517986ac81b6e9d057be617a21ac7c2e (diff)
downloadtor-a1e923c50d327241da6211f338e6db6919fc9e90.tar.gz
tor-a1e923c50d327241da6211f338e6db6919fc9e90.zip
right before publishing our service descriptor, we were
rewriting the hexdigest back to an ambiguous nickname. if this patches it, we should write a changelog and then backport. svn:r11500
-rw-r--r--src/or/rendservice.c7
1 files changed, 4 insertions, 3 deletions
diff --git a/src/or/rendservice.c b/src/or/rendservice.c
index 587e5df98a..c769f11ba5 100644
--- a/src/or/rendservice.c
+++ b/src/or/rendservice.c
@@ -304,16 +304,17 @@ rend_service_update_descriptor(rend_service_t *service)
/* We support intro protocol 2 and protocol 0. */
d->protocols = (1<<2) | (1<<0);
for (i=0; i < n; ++i) {
- router = router_get_by_nickname(smartlist_get(service->intro_nodes, i),1);
+ const char *name = smartlist_get(service->intro_nodes, i);
+ router = router_get_by_nickname(name, 1);
if (!router) {
log_info(LD_REND,"Router '%s' not found for intro point %d. Skipping.",
- safe_str((char*)smartlist_get(service->intro_nodes, i)), i);
+ safe_str(name), i);
continue;
}
circ = find_intro_circuit(router, service->pk_digest);
if (circ && circ->_base.purpose == CIRCUIT_PURPOSE_S_INTRO) {
/* We have an entirely established intro circuit. */
- d->intro_points[d->n_intro_points] = tor_strdup(router->nickname);
+ d->intro_points[d->n_intro_points] = tor_strdup(name);
d->intro_point_extend_info[d->n_intro_points] =
extend_info_from_router(router);
d->n_intro_points++;