diff -u3 -Hb -r CVS-latest/lib/hostasyn.c lib/hostasyn.c --- CVS-latest/lib/hostasyn.c Thu Jun 24 09:43:49 2004 +++ lib/hostasyn.c Thu Jun 24 15:23:22 2004 @@ -96,8 +96,8 @@ **********************************************************************/ #ifdef CURLRES_ASYNCH /* - * Curl_addrinfo_callback() gets called by ares/gethostbyname_thread() when we - * got the name resolved (or not!). + * addrinfo_callback() gets called by ares, gethostbyname_thread() or + * getaddrinfo_thread() when we got the name resolved (or not!). * * If the status argument is CURL_ASYNC_SUCCESS, we might need to copy the * address field since it might be freed when this function returns. This @@ -161,9 +161,9 @@ #ifdef CURLRES_IPV6 void Curl_addrinfo6_callback(void *arg, /* "struct connectdata *" */ int status, - struct addrinfo *hostent) + struct addrinfo *ai) { - addrinfo_callback(arg, status, hostent); + addrinfo_callback(arg, status, ai); } #endif diff -u3 -Hb -r CVS-latest/lib/hostip.h lib/hostip.h --- CVS-latest/lib/hostip.h Thu Jun 24 12:43:50 2004 +++ lib/hostip.h Thu Jun 24 15:25:15 2004 @@ -206,7 +206,7 @@ resolve, ipv6 */ void Curl_addrinfo6_callback(void *arg, int status, - struct hostent *hostent); + struct addrinfo *ai); /* [ipv4 only] Creates a Curl_addrinfo struct from a numerical-only IP diff -u3 -Hb -r CVS-latest/lib/hostip6.c lib/hostip6.c --- CVS-latest/lib/hostip6.c Thu Jun 10 13:06:21 2004 +++ lib/hostip6.c Thu Jun 24 15:16:45 2004 @@ -111,8 +111,9 @@ * address. But this is an ipv6 build and then we don't copy the address, we * just return the same pointer! */ -Curl_addrinfo *Curl_addrinfo_copy(Curl_addrinfo *source) +Curl_addrinfo *Curl_addrinfo_copy(void *source, int port) { + (void) port; return source; } #endif diff -u3 -Hb -r CVS-latest/lib/hostthre.c lib/hostthre.c --- CVS-latest/lib/hostthre.c Thu Jun 24 12:43:50 2004 +++ lib/hostthre.c Thu Jun 24 15:07:07 2004 @@ -163,7 +163,7 @@ #if defined(CURLRES_IPV4) /* - * gethostbyname_thread() resolves a name, calls the Curl_addrinfo_callback + * gethostbyname_thread() resolves a name, calls the Curl_addrinfo4_callback * and then exits. * * For builds without ARES/ENABLE_IPV6, create a resolver thread and wait on @@ -201,7 +201,7 @@ #elif defined(CURLRES_IPV6) /* - * getaddrinfo_thread() resolves a name, calls Curl_addrinfo_callback and then + * getaddrinfo_thread() resolves a name, calls Curl_addrinfo6_callback and then * exits. * * For builds without ARES, but with ENABLE_IPV6, create a resolver thread @@ -227,10 +227,10 @@ #ifdef DEBUG_THREADING_GETADDRINFO dump_addrinfo (conn, res); #endif - Curl_addrinfo_callback(conn, CURL_ASYNC_SUCCESS, res); + Curl_addrinfo6_callback(conn, CURL_ASYNC_SUCCESS, res); } else { - Curl_addrinfo_callback(conn, (int)WSAGetLastError(), NULL); + Curl_addrinfo6_callback(conn, (int)WSAGetLastError(), NULL); TRACE(("Winsock-error %d, no address\n", conn->async.status)); } return (rc); @@ -345,7 +345,7 @@ status = WaitForSingleObject(td->thread_hnd, 1000UL*timeout); if (status == WAIT_OBJECT_0 || status == WAIT_ABANDONED) { /* Thread finished before timeout; propagate Winsock error to this thread. - * 'conn->async.done = TRUE' is set in Curl_addrinfo_callback(). + * 'conn->async.done = TRUE' is set in Curl_addrinfo4/6_callback(). */ WSASetLastError(conn->async.status); GetExitCodeThread(td->thread_hnd, &td->thread_status); --- CVS-latest/src/main.c Fri Jun 18 08:20:43 2004 +++ src/main.c Thu Jun 24 15:31:44 2004 @@ -2623,6 +2623,10 @@ free(config->random_file); if(config->egd_file) free(config->egd_file); + if(config->trace_dump) + free(config->trace_dump); + if(config->cipher_list) + free(config->cipher_list); if(config->userpwd) free(config->userpwd); if(config->postfields)