diff options
author | Daniel Stenberg <daniel@haxx.se> | 2019-08-08 23:13:57 +0200 |
---|---|---|
committer | Daniel Stenberg <daniel@haxx.se> | 2019-08-09 12:26:02 +0200 |
commit | db061571ef4b7a925da1c189b60c08b39e6b2dbf (patch) | |
tree | a709e439ac1ef0ace78663a8ea4724d84c329a8a /lib/connect.c | |
parent | 4570c22c579cdfb293d890f034c7c4926967790e (diff) | |
download | curl-db061571ef4b7a925da1c189b60c08b39e6b2dbf.tar.gz |
http3: make connection reuse work
Closes #4204
Diffstat (limited to 'lib/connect.c')
-rw-r--r-- | lib/connect.c | 18 |
1 files changed, 7 insertions, 11 deletions
diff --git a/lib/connect.c b/lib/connect.c index be9fcba66..7d823d23b 100644 --- a/lib/connect.c +++ b/lib/connect.c @@ -626,13 +626,9 @@ void Curl_persistconninfo(struct connectdata *conn) conn->data->info.conn_local_port = conn->local_port; } -UNITTEST bool getaddressinfo(struct sockaddr *sa, char *addr, - long *port); - /* retrieves ip address and port from a sockaddr structure. note it calls Curl_inet_ntop which sets errno on fail, not SOCKERRNO. */ -UNITTEST bool getaddressinfo(struct sockaddr *sa, char *addr, - long *port) +bool Curl_addr2string(struct sockaddr *sa, char *addr, long *port) { struct sockaddr_in *si = NULL; #ifdef ENABLE_IPV6 @@ -715,8 +711,8 @@ void Curl_updateconninfo(struct connectdata *conn, curl_socket_t sockfd) } #endif #ifdef HAVE_GETPEERNAME - if(!getaddressinfo((struct sockaddr*)&ssrem, - conn->primary_ip, &conn->primary_port)) { + if(!Curl_addr2string((struct sockaddr*)&ssrem, + conn->primary_ip, &conn->primary_port)) { failf(data, "ssrem inet_ntop() failed with errno %d: %s", errno, Curl_strerror(errno, buffer, sizeof(buffer))); return; @@ -724,8 +720,8 @@ void Curl_updateconninfo(struct connectdata *conn, curl_socket_t sockfd) memcpy(conn->ip_addr_str, conn->primary_ip, MAX_IPADR_LEN); #endif #ifdef HAVE_GETSOCKNAME - if(!getaddressinfo((struct sockaddr*)&ssloc, - conn->local_ip, &conn->local_port)) { + if(!Curl_addr2string((struct sockaddr*)&ssloc, + conn->local_ip, &conn->local_port)) { failf(data, "ssloc inet_ntop() failed with errno %d: %s", errno, Curl_strerror(errno, buffer, sizeof(buffer))); return; @@ -1032,8 +1028,8 @@ static CURLcode singleipconnect(struct connectdata *conn, return CURLE_OK; /* store remote address and port used in this connection attempt */ - if(!getaddressinfo((struct sockaddr*)&addr.sa_addr, - ipaddress, &port)) { + if(!Curl_addr2string((struct sockaddr*)&addr.sa_addr, + ipaddress, &port)) { /* malformed address or bug in inet_ntop, try next address */ failf(data, "sa_addr inet_ntop() failed with errno %d: %s", errno, Curl_strerror(errno, buffer, sizeof(buffer))); |