From 273b267fa234c5a26c9beaacede42a496c880e05 Mon Sep 17 00:00:00 2001 From: David Goulet Date: Mon, 23 Nov 2015 09:02:54 -0500 Subject: [PATCH] Fix: use the right list in find_expiring_intro_point() The wrong list was used when looking up expired intro points in a rend service object causing what we think could be reachability issues and triggering a BUG log. Fixes #16702 Signed-off-by: David Goulet --- changes/bug16702 | 4 ++++ src/or/rendservice.c | 3 ++- 2 files changed, 6 insertions(+), 1 deletion(-) create mode 100644 changes/bug16702 diff --git a/changes/bug16702 b/changes/bug16702 new file mode 100644 index 0000000000..5de36cd351 --- /dev/null +++ b/changes/bug16702 @@ -0,0 +1,4 @@ + o Minor bugfixes (hidden service) + - The wrong list was used when looking up expired intro points in a rend + service object causing what we think could be reachability issues and + triggering a BUG log. Fixes 16702; bugfix on tor-0.2.7.2-alpha. diff --git a/src/or/rendservice.c b/src/or/rendservice.c index 8ba5327b1d..77d8b716a2 100644 --- a/src/or/rendservice.c +++ b/src/or/rendservice.c @@ -3038,7 +3038,8 @@ find_expiring_intro_point(rend_service_t *service, origin_circuit_t *circ) tor_assert(TO_CIRCUIT(circ)->purpose == CIRCUIT_PURPOSE_S_ESTABLISH_INTRO || TO_CIRCUIT(circ)->purpose == CIRCUIT_PURPOSE_S_INTRO); - SMARTLIST_FOREACH(service->intro_nodes, rend_intro_point_t *, intro_point, + SMARTLIST_FOREACH(service->expiring_nodes, rend_intro_point_t *, + intro_point, if (crypto_pk_eq_keys(intro_point->intro_key, circ->intro_key)) { return intro_point; });