From 61cfbecc7458edd4cc2d538d0a361648131a2c93 Mon Sep 17 00:00:00 2001 From: Daniel Stenberg Date: Tue, 7 Oct 2008 21:56:56 +0000 Subject: - Fixed CURLINFO_PRIMARY_IP: When libcurl created a connection to host A then the app re-used the handle to do a connection to host B and then again re-used the handle to host A, it would not update the info with host A's IP address (due to the connection being re-used) but it would instead report the info from host B. --- lib/url.c | 6 ++++++ 1 file changed, 6 insertions(+) (limited to 'lib/url.c') diff --git a/lib/url.c b/lib/url.c index bb09d2fd3..17b34c68e 100644 --- a/lib/url.c +++ b/lib/url.c @@ -4238,6 +4238,12 @@ static CURLcode create_conn(struct SessionHandle *data, infof(data, "Re-using existing connection! (#%ld) with host %s\n", conn->connectindex, conn->proxy.name?conn->proxy.dispname:conn->host.dispname); + /* copy this IP address to the common buffer for the easy handle so that + the address can actually survice the removal of this connection. strcpy + is safe since the target buffer is big enough to hold the largest + possible IP address */ + strcpy(data->info.ip, conn->ip_addr_str); + } else { /* -- cgit v1.2.3