瀏覽代碼

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 <dgoulet@ev0ke.net>
David Goulet 8 年之前
父節點
當前提交
273b267fa2
共有 2 個文件被更改,包括 6 次插入1 次删除
  1. 4 0
      changes/bug16702
  2. 2 1
      src/or/rendservice.c

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

+ 2 - 1
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;
   });