diff options
Diffstat (limited to 'lib')
-rw-r--r-- | lib/connect.c | 11 |
1 files changed, 6 insertions, 5 deletions
diff --git a/lib/connect.c b/lib/connect.c index 53420ae74..0250ceb45 100644 --- a/lib/connect.c +++ b/lib/connect.c @@ -683,16 +683,13 @@ void Curl_updateconninfo(struct connectdata *conn, curl_socket_t sockfd) /* there's no connection! */ return; +#if defined(HAVE_GETPEERNAME) || defined(HAVE_GETSOCKNAME) if(!conn->bits.reuse && !conn->bits.tcp_fastopen) { struct Curl_easy *data = conn->data; char buffer[STRERROR_LEN]; struct Curl_sockaddr_storage ssrem; struct Curl_sockaddr_storage ssloc; -#if defined(HAVE_GETPEERNAME) || defined(HAVE_GETSOCKNAME) curl_socklen_t len; -#else - (void)sockfd; -#endif #ifdef HAVE_GETPEERNAME len = sizeof(struct Curl_sockaddr_storage); if(getpeername(sockfd, (struct sockaddr*) &ssrem, &len)) { @@ -712,6 +709,7 @@ void Curl_updateconninfo(struct connectdata *conn, curl_socket_t sockfd) return; } #endif +#ifdef HAVE_GETPEERNAME if(!getaddressinfo((struct sockaddr*)&ssrem, conn->primary_ip, &conn->primary_port)) { failf(data, "ssrem inet_ntop() failed with errno %d: %s", @@ -719,14 +717,17 @@ void Curl_updateconninfo(struct connectdata *conn, curl_socket_t sockfd) return; } 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)) { failf(data, "ssloc inet_ntop() failed with errno %d: %s", errno, Curl_strerror(errno, buffer, sizeof(buffer))); return; } +#endif } +#endif /* persist connection info in session handle */ Curl_persistconninfo(conn); |