diff --git a/CHANGES b/CHANGES index 2ae152d41..9bf8f0c8b 100644 --- a/CHANGES +++ b/CHANGES @@ -9,6 +9,12 @@ Daniel (8 November 2005) +- Removed the use of AI_CANONNAME in the IPv6-enabled resolver functions since + we really have no use for reverse lookups of the address. + + I truly hope these are the last reverse lookups we had lingering in the + code! + - Dmitry Bartsevich discovered some issues in compatibilty of SSPI-enabled version of libcurl with different Windows versions. Current version of libcurl imports SSPI functions from secur32.dll. However, under Windows NT diff --git a/RELEASE-NOTES b/RELEASE-NOTES index a32636896..799784cc2 100644 --- a/RELEASE-NOTES +++ b/RELEASE-NOTES @@ -17,6 +17,7 @@ This release includes the following changes: This release includes the following bugfixes: + o no reverse lookups on IP addresses when ipv6-enabled o SSPI compatibility fix: using the proper DLLs o binary LDAP properties are now shown base64 encoded o Windows uploads from stdin using curl can now contain ctrl-Z bytes diff --git a/lib/hostip6.c b/lib/hostip6.c index 775ba9147..04ebaedee 100644 --- a/lib/hostip6.c +++ b/lib/hostip6.c @@ -228,7 +228,6 @@ Curl_addrinfo *Curl_getaddrinfo(struct connectdata *conn, curl_socket_t s; int pf; struct SessionHandle *data = conn->data; - int ai_flags; *waitp=0; /* don't wait, we have the response now */ @@ -263,20 +262,20 @@ Curl_addrinfo *Curl_getaddrinfo(struct connectdata *conn, } } + memset(&hints, 0, sizeof(hints)); + hints.ai_family = pf; + hints.ai_socktype = conn->socktype; + if((1 == Curl_inet_pton(AF_INET, hostname, addrbuf)) || (1 == Curl_inet_pton(AF_INET6, hostname, addrbuf))) { /* the given address is numerical only, prevent a reverse lookup */ - ai_flags = AI_NUMERICHOST; + hints.ai_flags = AI_NUMERICHOST; } +#if 0 /* removed nov 8 2005 before 7.15.1 */ else - ai_flags = AI_CANONNAME; + hints.ai_flags = AI_CANONNAME; +#endif - memset(&hints, 0, sizeof(hints)); - hints.ai_family = pf; - - hints.ai_socktype = conn->socktype; - - hints.ai_flags = ai_flags; if(port) { snprintf(sbuf, sizeof(sbuf), "%d", port); sbufptr=sbuf; diff --git a/lib/hostthre.c b/lib/hostthre.c index eb8e02e12..028a36c61 100644 --- a/lib/hostthre.c +++ b/lib/hostthre.c @@ -819,7 +819,9 @@ Curl_addrinfo *Curl_getaddrinfo(struct connectdata *conn, memset(&hints, 0, sizeof(hints)); hints.ai_family = pf; hints.ai_socktype = conn->socktype; +#if 0 /* removed nov 8 2005 before 7.15.1 */ hints.ai_flags = AI_CANONNAME; +#endif itoa(port, sbuf, 10); /* fire up a new resolver thread! */