Browse Source

hs-v3: Don't non fatal assert if we can't get the intro extend info

Fixes #23159.

Signed-off-by: David Goulet <dgoulet@torproject.org>
David Goulet 6 years ago
parent
commit
40ab25db62
2 changed files with 8 additions and 7 deletions
  1. 5 0
      changes/bug23159
  2. 3 7
      src/or/hs_service.c

+ 5 - 0
changes/bug23159

@@ -0,0 +1,5 @@
+  o Minor bugfixes (hidden service v3):
+    - Don't non fatal assert if we can't the introduction point extend
+      information when launching circuits. In rare cases, this could happened
+      but tor would recover gracefully. This is to avoid a non fatal assert in
+      the logs. Fixes ticket 23159.; bugfix on 0.3.2.1-alpha.

+ 3 - 7
src/or/hs_service.c

@@ -2034,13 +2034,9 @@ launch_intro_point_circuits(hs_service_t *service)
 
       ei = get_extend_info_from_intro_point(ip, direct_conn);
       if (ei == NULL) {
-        if (!direct_conn) {
-          /* In case of a multi-hop connection, it should never happen that we
-           * can't get the extend info from the node. Avoid connection and
-           * remove intro point from descriptor in order to recover from this
-           * potential bug. */
-          tor_assert_nonfatal(ei);
-        }
+        /* This is possible if we can get a node_t but not the extend info out
+         * of it. In this case, we remove the intro point and a new one will
+         * be picked at the next main loop callback. */
         MAP_DEL_CURRENT(key);
         service_intro_point_free(ip);
         continue;