From 608d161b605e4ac0ebdab6c89c64e14423a0457a Mon Sep 17 00:00:00 2001
From: Luo Jinghua <sunmoon1997@gmail.com>
Date: Wed, 8 Jun 2016 07:23:54 +0800
Subject: [PATCH] resolve: enable protocol family logic for synthesized IPv6

- Enable protocol family logic for IPv6 resolves even when support
for synthesized addresses is enabled.

This is a follow up to the parent commit that added support for
synthesized IPv6 addresses from IPv4 on iOS/OS X. The protocol family
logic needed for IPv6 was inadvertently excluded if support for
synthesized addresses was enabled.

Bug: https://github.com/curl/curl/issues/863
Ref: https://github.com/curl/curl/pull/866
Ref: https://github.com/curl/curl/pull/867
---
 lib/asyn-thread.c | 5 +++--
 1 file changed, 3 insertions(+), 2 deletions(-)

diff --git a/lib/asyn-thread.c b/lib/asyn-thread.c
index 0ca2603349..967859a07f 100644
--- a/lib/asyn-thread.c
+++ b/lib/asyn-thread.c
@@ -616,7 +616,10 @@ Curl_addrinfo *Curl_resolver_getaddrinfo(struct connectdata *conn,
   if(Curl_inet_pton(AF_INET6, hostname, &in6) > 0)
     /* This is an IPv6 address literal */
     return Curl_ip2addr(AF_INET6, &in6, hostname, port);
+#endif /* CURLRES_IPV6 */
+#endif /* !USE_RESOLVE_ON_IPS */
 
+#ifdef CURLRES_IPV6
   /*
    * Check if a limited name resolve has been requested.
    */
@@ -635,9 +638,7 @@ Curl_addrinfo *Curl_resolver_getaddrinfo(struct connectdata *conn,
   if((pf != PF_INET) && !Curl_ipv6works())
     /* The stack seems to be a non-IPv6 one */
     pf = PF_INET;
-
 #endif /* CURLRES_IPV6 */
-#endif /* USE_RESOLVE_ON_IPS */
 
   memset(&hints, 0, sizeof(hints));
   hints.ai_family = pf;
-- 
GitLab