Module: wine Branch: master Commit: 481c9b895d4d9ce92e5db4da25317d885dd5b0a9 URL: http://source.winehq.org/git/wine.git/?a=commit;h=481c9b895d4d9ce92e5db4da25...
Author: Juan Lang juan.lang@gmail.com Date: Thu Jul 9 11:42:25 2009 -0700
wininet: Support IPv6 addresses in HTTP_ResolveName and HTTP_OpenConnection.
---
dlls/wininet/http.c | 14 ++++++++++++-- 1 files changed, 12 insertions(+), 2 deletions(-)
diff --git a/dlls/wininet/http.c b/dlls/wininet/http.c index 9573f6f..5832a5c 100644 --- a/dlls/wininet/http.c +++ b/dlls/wininet/http.c @@ -1448,9 +1448,13 @@ static BOOL HTTP_DealWithProxy( LPWININETAPPINFOW hIC, return TRUE; }
+#ifndef INET6_ADDRSTRLEN +#define INET6_ADDRSTRLEN 46 +#endif + static BOOL HTTP_ResolveName(LPWININETHTTPREQW lpwhr) { - char szaddr[32]; + char szaddr[INET6_ADDRSTRLEN]; LPWININETHTTPSESSIONW lpwhs = lpwhr->lpHttpSession; const void *addr;
@@ -1472,6 +1476,9 @@ static BOOL HTTP_ResolveName(LPWININETHTTPREQW lpwhr) case AF_INET: addr = &((struct sockaddr_in *)&lpwhs->socketAddress)->sin_addr; break; + case AF_INET6: + addr = &((struct sockaddr_in6 *)&lpwhs->socketAddress)->sin6_addr; + break; default: WARN("unsupported family %d\n", lpwhs->socketAddress.ss_family); INTERNET_SetLastError(ERROR_INTERNET_NAME_NOT_RESOLVED); @@ -4117,7 +4124,7 @@ static BOOL HTTP_OpenConnection(LPWININETHTTPREQW lpwhr) BOOL bSuccess = FALSE; LPWININETHTTPSESSIONW lpwhs; LPWININETAPPINFOW hIC = NULL; - char szaddr[32]; + char szaddr[INET6_ADDRSTRLEN]; const void *addr;
TRACE("-->\n"); @@ -4144,6 +4151,9 @@ static BOOL HTTP_OpenConnection(LPWININETHTTPREQW lpwhr) case AF_INET: addr = &((struct sockaddr_in *)&lpwhs->socketAddress)->sin_addr; break; + case AF_INET6: + addr = &((struct sockaddr_in6 *)&lpwhs->socketAddress)->sin6_addr; + break; default: WARN("unsupported family %d\n", lpwhs->socketAddress.ss_family); INTERNET_SetLastError(ERROR_INTERNET_NAME_NOT_RESOLVED);