connect: store IPv6 connection status after valid connection #2053
... previously it would store it already in the happy eyeballs stage which could lead to the IPv6 bit being set for an IPv4 connection, leading to curl not wanting to do EPSV=>PASV for FTP transfers.
I am seeing a similar issue sending https requests on Android. I start sending requests over mobile cell data link with wi-fi disabled to an ipv6 server endpoint.. I enable wi-fi and set CURLOPT_INTERFACE to "wlan0". Requests continue to go, now over wifi as ipv4 packets.
As soon as Linux declares the mobile data link dormant, and disconnects, requests over wi-fi begin to fail with CURLE_COULDNT_CONNECT (7). tcpdump shows all traffic to and from the server endpoint has stopped.
I thought this bug sounded like the issue I'm seeing, but implementing this fix didn't help. I am using libcurl 7.43.0. I didn't see any other issues that sounded ike mine so I have held off upgrading to the newest release.
Anyone have any thoughts or suggestions?