summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDavid Goulet <dgoulet@torproject.org>2017-09-26 13:55:51 -0400
committerDavid Goulet <dgoulet@torproject.org>2017-09-26 13:55:51 -0400
commit40ab25db62837369496597d6fb092c66ede1dd04 (patch)
tree5a26b5cfcb92a423aabe6ba4640704dced950ba9
parent2de588ffdbb3502ad680283ef5363125a1966de2 (diff)
downloadtor-40ab25db62837369496597d6fb092c66ede1dd04.tar.gz
tor-40ab25db62837369496597d6fb092c66ede1dd04.zip
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>
-rw-r--r--changes/bug231595
-rw-r--r--src/or/hs_service.c10
2 files changed, 8 insertions, 7 deletions
diff --git a/changes/bug23159 b/changes/bug23159
new file mode 100644
index 0000000000..3d35f6efa5
--- /dev/null
+++ b/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.
diff --git a/src/or/hs_service.c b/src/or/hs_service.c
index 8c99f0747a..5e575412b3 100644
--- a/src/or/hs_service.c
+++ b/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;