소스 검색

Merge branch 'bug21599_squashed'

Nick Mathewson 7 년 전
부모
커밋
958ec0f5f8
2개의 변경된 파일8개의 추가작업 그리고 4개의 파일을 삭제
  1. 4 0
      changes/bug21599
  2. 4 4
      src/or/rendservice.c

+ 4 - 0
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.

+ 4 - 4
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;
     }