Commit ecbb08ce authored by Daniel Stenberg's avatar Daniel Stenberg
Browse files

singleipconnect: unstick the ipv6-connection boolean

Previously the bit was set before the connection was found working so if
it would first fail to an ipv6 address and then connect fine to a IPv4
address the variable would still be TRUE.

Reported by: Thomas L. Shinnick
Bug: http://curl.haxx.se/bug/view.cgi?id=3421912
parent 491c5a49
Loading
Loading
Loading
Loading
+4 −5
Original line number Diff line number Diff line
@@ -907,11 +907,6 @@ singleipconnect(struct connectdata *conn,

  Curl_persistconninfo(conn);

#ifdef ENABLE_IPV6
  if(addr.family == AF_INET6)
    conn->bits.ipv6 = TRUE;
#endif

  if(data->set.tcp_nodelay)
    tcpnodelay(conn, sockfd);

@@ -999,6 +994,10 @@ singleipconnect(struct connectdata *conn,
    /* we are connected, awesome! */
    *connected = TRUE; /* this is a true connect */
    infof(data, "connected\n");
#ifdef ENABLE_IPV6
    conn->bits.ipv6 = (addr.family == AF_INET6)?TRUE:FALSE;
#endif

    Curl_updateconninfo(conn, sockfd);
    *sockp = sockfd;
    return CURLE_OK;