commit 684778e705b0e873e61a4befc4f1017db795cc66 Author: teor teor2345@gmail.com Date: Thu Mar 2 15:55:33 2017 +1100
Simplify hidden service descriptor creation
Use an existing flag to check if an introduction point is established.
Cleanup after 21596.
Fixes bug 21599; bugfix on 0.2.7.2-alpha. --- changes/bug21599 | 4 ++++ src/or/rendservice.c | 8 ++++---- 2 files changed, 8 insertions(+), 4 deletions(-)
diff --git a/changes/bug21599 b/changes/bug21599 new file mode 100644 index 0000000..fe0f21a --- /dev/null +++ b/changes/bug21599 @@ -0,0 +1,4 @@ + o Minor bugfixes (hidden services): + - Simplify hidden service descriptor creation by using an existing flag + to check if an introduction point is established. + Fixes bug 21599; bugfix on 0.2.7.2-alpha. diff --git a/src/or/rendservice.c b/src/or/rendservice.c index c23d45c..5155899 100644 --- a/src/or/rendservice.c +++ b/src/or/rendservice.c @@ -1035,7 +1035,6 @@ static void rend_service_update_descriptor(rend_service_t *service) { rend_service_descriptor_t *d; - origin_circuit_t *circ; int i;
rend_service_descriptor_free(service->desc); @@ -1056,9 +1055,10 @@ rend_service_update_descriptor(rend_service_t *service) /* This intro point won't be listed in the descriptor... */ intro_svc->listed_in_last_desc = 0;
- circ = find_intro_circuit(intro_svc, service->pk_digest); - if (!circ || circ->base_.purpose != CIRCUIT_PURPOSE_S_INTRO) { - /* This intro point's circuit isn't finished yet. Don't list it. */ + /* circuit_established is set in rend_service_intro_established(), and + * checked every second in rend_consider_services_intro_points(), so it's + * safe to use it here */ + if (!intro_svc->circuit_established) { continue; }
tor-commits@lists.torproject.org