From a1e923c50d327241da6211f338e6db6919fc9e90 Mon Sep 17 00:00:00 2001 From: Roger Dingledine Date: Wed, 19 Sep 2007 00:30:19 +0000 Subject: 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 --- src/or/rendservice.c | 7 ++++--- 1 file 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++; -- cgit v1.2.3-54-g00ecf