aboutsummaryrefslogtreecommitdiff
path: root/src/test/test_hs_client.c
diff options
context:
space:
mode:
authorteor <teor@torproject.org>2019-04-24 17:23:00 +1000
committerteor <teor@torproject.org>2019-04-24 17:29:14 +1000
commitf05e3f3c9af2cd05404a0646d4f7acc670c421da (patch)
tree03c1d7a58719eb5f4419c435c32a1d16a8c86308 /src/test/test_hs_client.c
parentabe086dd976174ea52707f0ab27aae31228dfc2b (diff)
downloadtor-f05e3f3c9af2cd05404a0646d4f7acc670c421da.tar.gz
tor-f05e3f3c9af2cd05404a0646d4f7acc670c421da.zip
test/hs: Correctly convert an IPv6 intro point to an extend_info
Part of #23588.
Diffstat (limited to 'src/test/test_hs_client.c')
-rw-r--r--src/test/test_hs_client.c11
1 files changed, 11 insertions, 0 deletions
diff --git a/src/test/test_hs_client.c b/src/test/test_hs_client.c
index 8362b6cbda..aba0c937cc 100644
--- a/src/test/test_hs_client.c
+++ b/src/test/test_hs_client.c
@@ -479,6 +479,17 @@ test_client_pick_intro(void *arg)
SMARTLIST_FOREACH_BEGIN(desc->encrypted_data.intro_points,
hs_desc_intro_point_t *, ip) {
extend_info_t *intro_ei = desc_intro_point_to_extend_info(ip);
+ /* desc_intro_point_to_extend_info() doesn't return IPv6 intro points
+ * yet, because we can't extend to them. See #24404, #24451, and #24181.
+ */
+ if (intro_ei == NULL) {
+ /* Pretend we're making a direct connection, and that we can use IPv6
+ */
+ get_options_mutable()->ClientUseIPv6 = 1;
+ intro_ei = hs_get_extend_info_from_lspecs(ip->link_specifiers,
+ &ip->onion_key, 1);
+ tt_assert(tor_addr_family(&intro_ei->addr) == AF_INET6);
+ }
tt_assert(intro_ei);
if (intro_ei) {
const char *ptr;