Juan Lang : wininet: Support IPv6 addresses in HTTP_ResolveName and HTTP_OpenConnection.
Alexandre Julliard
julliard at winehq.org
Fri Jul 10 08:52:04 CDT 2009
Module: wine
Branch: master
Commit: 481c9b895d4d9ce92e5db4da25317d885dd5b0a9
URL: http://source.winehq.org/git/wine.git/?a=commit;h=481c9b895d4d9ce92e5db4da25317d885dd5b0a9
Author: Juan Lang <juan.lang at 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);
More information about the wine-cvs
mailing list