New wininet vendor import Modified: trunk/reactos/include/wine/shlwapi.h Modified: trunk/reactos/include/wine/winnetwk.h Added: trunk/reactos/lib/wininet/ Deleted: trunk/reactos/lib/wininet/Makefile.in Modified: trunk/reactos/lib/wininet/http.c Modified: trunk/reactos/lib/wininet/internet.c Modified: trunk/reactos/lib/wininet/netconnection.c Modified: trunk/reactos/lib/wininet/utility.c Added: trunk/reactos/lib/wininet/wininet.xml Modified: trunk/reactos/media/doc/README.WINE Modified: trunk/reactos/w32api/include/wininet.h _____
Modified: trunk/reactos/include/wine/shlwapi.h --- trunk/reactos/include/wine/shlwapi.h 2006-01-15 22:22:02 UTC (rev 20908) +++ trunk/reactos/include/wine/shlwapi.h 2006-01-15 22:25:16 UTC (rev 20909) @@ -13,6 +13,7 @@
#define __WINE_SHLWAPI_H
#define URL_FILE_USE_PATHURL 0x00010000 +#define URL_BROWSER_MODE URL_DONT_ESCAPE_EXTRA_INFO
HRESULT WINAPI SHCreateStreamOnFileEx(LPCWSTR,DWORD,DWORD,BOOL,struct IStream*,struct IStream**);
_____
Modified: trunk/reactos/include/wine/winnetwk.h --- trunk/reactos/include/wine/winnetwk.h 2006-01-15 22:22:02 UTC (rev 20908) +++ trunk/reactos/include/wine/winnetwk.h 2006-01-15 22:25:16 UTC (rev 20909) @@ -24,6 +24,8 @@
} PASSWORD_CACHE_ENTRY;
typedef BOOL (CALLBACK *ENUMPASSWORDPROC)(PASSWORD_CACHE_ENTRY *, DWORD); +DWORD WINAPI WNetCachePassword( LPSTR, WORD, LPSTR, WORD, BYTE, WORD ); UINT WINAPI WNetEnumCachedPasswords( LPSTR, WORD, BYTE, ENUMPASSWORDPROC, DWORD); +DWORD WINAPI WNetGetCachedPassword( LPSTR, WORD, LPSTR, LPWORD, BYTE );
#endif /* __WINE_WINNETWK_H */ _____
Copied: trunk/reactos/lib/wininet (from rev 20908, vendor/wine/dlls/wininet/current) Property changes on: trunk/reactos/lib/wininet ___________________________________________________________________ Name: svn:ignore + GNUmakefile _____
Deleted: trunk/reactos/lib/wininet/Makefile.in --- vendor/wine/dlls/wininet/current/Makefile.in 2006-01-15 22:22:02 UTC (rev 20908) +++ trunk/reactos/lib/wininet/Makefile.in 2006-01-15 22:25:16 UTC (rev 20909) @@ -1,31 +0,0 @@
-EXTRADEFS = -D_WINX32_ -TOPSRCDIR = @top_srcdir@ -TOPOBJDIR = ../.. -SRCDIR = @srcdir@ -VPATH = @srcdir@ -MODULE = wininet.dll -IMPORTLIB = libwininet.$(IMPLIBEXT) -IMPORTS = mpr shlwapi shell32 user32 advapi32 kernel32 ntdll -EXTRALIBS = $(LIBUNICODE) @SOCKETLIBS@ - -C_SRCS = \ - cookie.c \ - dialogs.c \ - ftp.c \ - gopher.c \ - http.c \ - internet.c \ - netconnection.c \ - urlcache.c \ - utility.c \ - wininet_main.c - -RC_SRCS = \ - rsrc.rc \ - version.rc - -SUBDIRS = tests - -@MAKE_DLL_RULES@ - -### Dependencies: _____
Modified: trunk/reactos/lib/wininet/http.c --- vendor/wine/dlls/wininet/current/http.c 2006-01-15 22:22:02 UTC (rev 20908) +++ trunk/reactos/lib/wininet/http.c 2006-01-15 22:25:16 UTC (rev 20909) @@ -2524,7 +2524,11 @@
/* * HACK peek at the buffer */ +#if 0 + /* This is Wine code, we don't support MSG_PEEK yet so we have to do it + a bit different */ NETCON_recv(&lpwhr->netConnection, buffer, buflen, MSG_PEEK, &rc); +#endif
/* * We should first receive 'HTTP/1.x nnn OK' where nnn is the status code. @@ -2533,6 +2537,9 @@ memset(buffer, 0, MAX_REPLY_LEN); if (!NETCON_getNextLine(&lpwhr->netConnection, bufferA, &buflen)) goto lend; +#if 1 + rc = buflen; +#endif MultiByteToWideChar( CP_ACP, 0, bufferA, buflen, buffer, MAX_REPLY_LEN );
/* regenerate raw headers */ @@ -2579,6 +2586,9 @@ { LPWSTR * pFieldAndValue;
+#if 1 + rc += buflen; +#endif TRACE("got line %s, now interpreting\n", debugstr_a(bufferA)); MultiByteToWideChar( CP_ACP, 0, bufferA, buflen, buffer, MAX_REPLY_LEN );
_____
Modified: trunk/reactos/lib/wininet/internet.c --- vendor/wine/dlls/wininet/current/internet.c 2006-01-15 22:22:02 UTC (rev 20908) +++ trunk/reactos/lib/wininet/internet.c 2006-01-15 22:25:16 UTC (rev 20909) @@ -259,15 +259,23 @@
BOOL WINAPI DllMain (HINSTANCE hinstDLL, DWORD fdwReason, LPVOID lpvReserved) { + WSADATA wsaData; + TRACE("%p,%lx,%p\n", hinstDLL, fdwReason, lpvReserved);
switch (fdwReason) { case DLL_PROCESS_ATTACH:
+ if (0 != WSAStartup(MAKEWORD(1, 1), &wsaData)) { + return FALSE; + } + g_dwTlsErrIndex = TlsAlloc();
- if (g_dwTlsErrIndex == TLS_OUT_OF_INDEXES) + if (g_dwTlsErrIndex == TLS_OUT_OF_INDEXES) { + WSACleanup(); return FALSE; + }
hQuitEvent = CreateEventW(0, TRUE, FALSE, NULL); hWorkEvent = CreateEventW(0, FALSE, FALSE, NULL); @@ -314,6 +322,7 @@ CloseHandle(hQuitEvent); CloseHandle(hWorkEvent); DeleteCriticalSection(&csQueue); + WSACleanup(); break; }
@@ -2687,10 +2696,10 @@ /* * Build our ping command */ - len = WideCharToMultiByte(CP_UNIXCP, 0, hostW, -1, NULL, 0, NULL, NULL); + len = WideCharToMultiByte(CP_THREAD_ACP, 0, hostW, -1, NULL, 0, NULL, NULL); command = HeapAlloc( GetProcessHeap(), 0, strlen(ping)+len+strlen(redirect) ); strcpy(command,ping); - WideCharToMultiByte(CP_UNIXCP, 0, hostW, -1, command+strlen(ping), len, NULL, NULL); + WideCharToMultiByte(CP_THREAD_ACP, 0, hostW, -1, command+strlen(ping), len, NULL, NULL); strcat(command,redirect);
TRACE("Ping command is : %s\n",command); _____
Modified: trunk/reactos/lib/wininet/netconnection.c --- vendor/wine/dlls/wininet/current/netconnection.c 2006-01-15 22:22:02 UTC (rev 20908) +++ trunk/reactos/lib/wininet/netconnection.c 2006-01-15 22:25:16 UTC (rev 20909) @@ -199,70 +199,6 @@
return TRUE; }
-/* translate a unix error code into a winsock one */ -static int sock_get_error( int err ) -{ - switch (err) - { - case EINTR: return WSAEINTR; - case EBADF: return WSAEBADF; - case EPERM: - case EACCES: return WSAEACCES; - case EFAULT: return WSAEFAULT; - case EINVAL: return WSAEINVAL; - case EMFILE: return WSAEMFILE; - case EWOULDBLOCK: return WSAEWOULDBLOCK; - case EINPROGRESS: return WSAEINPROGRESS; - case EALREADY: return WSAEALREADY; - case ENOTSOCK: return WSAENOTSOCK; - case EDESTADDRREQ: return WSAEDESTADDRREQ; - case EMSGSIZE: return WSAEMSGSIZE; - case EPROTOTYPE: return WSAEPROTOTYPE; - case ENOPROTOOPT: return WSAENOPROTOOPT; - case EPROTONOSUPPORT: return WSAEPROTONOSUPPORT; - case ESOCKTNOSUPPORT: return WSAESOCKTNOSUPPORT; - case EOPNOTSUPP: return WSAEOPNOTSUPP; - case EPFNOSUPPORT: return WSAEPFNOSUPPORT; - case EAFNOSUPPORT: return WSAEAFNOSUPPORT; - case EADDRINUSE: return WSAEADDRINUSE; - case EADDRNOTAVAIL: return WSAEADDRNOTAVAIL; - case ENETDOWN: return WSAENETDOWN; - case ENETUNREACH: return WSAENETUNREACH; - case ENETRESET: return WSAENETRESET; - case ECONNABORTED: return WSAECONNABORTED; - case EPIPE: - case ECONNRESET: return WSAECONNRESET; - case ENOBUFS: return WSAENOBUFS; - case EISCONN: return WSAEISCONN; - case ENOTCONN: return WSAENOTCONN; - case ESHUTDOWN: return WSAESHUTDOWN; - case ETOOMANYREFS: return WSAETOOMANYREFS; - case ETIMEDOUT: return WSAETIMEDOUT; - case ECONNREFUSED: return WSAECONNREFUSED; - case ELOOP: return WSAELOOP; - case ENAMETOOLONG: return WSAENAMETOOLONG; - case EHOSTDOWN: return WSAEHOSTDOWN; - case EHOSTUNREACH: return WSAEHOSTUNREACH; - case ENOTEMPTY: return WSAENOTEMPTY; -#ifdef EPROCLIM - case EPROCLIM: return WSAEPROCLIM; -#endif -#ifdef EUSERS - case EUSERS: return WSAEUSERS; -#endif -#ifdef EDQUOT - case EDQUOT: return WSAEDQUOT; -#endif -#ifdef ESTALE - case ESTALE: return WSAESTALE; -#endif -#ifdef EREMOTE - case EREMOTE: return WSAEREMOTE; -#endif - default: errno=err; perror("sock_set_error"); return WSAEFAULT; - } -} -
/*********************************************************************** ******* * NETCON_create * Basically calls 'socket()' @@ -276,9 +212,9 @@ #endif
connection->socketFD = socket(domain, type, protocol); - if (connection->socketFD == -1) + if (INVALID_SOCKET == connection->socketFD) { - INTERNET_SetLastError(sock_get_error(errno)); + INTERNET_SetLastError(WSAGetLastError()); return FALSE; } return TRUE; @@ -312,9 +248,9 @@ result = closesocket(connection->socketFD); connection->socketFD = -1;
- if (result == -1) + if (0 != result) { - INTERNET_SetLastError(sock_get_error(errno)); + INTERNET_SetLastError(WSAGetLastError()); return FALSE; } return TRUE; @@ -390,14 +326,14 @@ * the moment */ }
- len = WideCharToMultiByte(CP_UNIXCP, 0, hostname, -1, NULL, 0, NULL, NULL); + len = WideCharToMultiByte(CP_THREAD_ACP, 0, hostname, -1, NULL, 0, NULL, NULL); hostname_unix = HeapAlloc(GetProcessHeap(), 0, len); if (!hostname_unix) { INTERNET_SetLastError(ERROR_NOT_ENOUGH_MEMORY); goto fail; } - WideCharToMultiByte(CP_UNIXCP, 0, hostname, -1, hostname_unix, len, NULL, NULL); + WideCharToMultiByte(CP_THREAD_ACP, 0, hostname, -1, hostname_unix, len, NULL, NULL);
if (!check_hostname(cert, hostname_unix)) { @@ -433,10 +369,10 @@ if (!NETCON_connected(connection)) return FALSE;
result = connect(connection->socketFD, serv_addr, addrlen); - if (result == -1) + if (SOCKET_ERROR == result) { WARN("Unable to connect to host (%s)\n", strerror(errno)); - INTERNET_SetLastError(sock_get_error(errno)); + INTERNET_SetLastError(WSAGetLastError());
closesocket(connection->socketFD); connection->socketFD = -1; @@ -458,9 +394,9 @@ if (!connection->useSSL) { *sent = send(connection->socketFD, msg, len, flags); - if (*sent == -1) + if (SOCKET_ERROR == *sent) { - INTERNET_SetLastError(sock_get_error(errno)); + INTERNET_SetLastError(WSAGetLastError()); return FALSE; } return TRUE; @@ -492,9 +428,9 @@ if (!connection->useSSL) { *recvd = recv(connection->socketFD, buf, len, flags); - if (*recvd == -1) + if (SOCKET_ERROR == *recvd) { - INTERNET_SetLastError(sock_get_error(errno)); + INTERNET_SetLastError(WSAGetLastError()); return FALSE; } return TRUE; @@ -572,6 +508,7 @@ fd_set infd; BOOL bSuccess = FALSE; DWORD nRecv = 0; + int r;
FD_ZERO(&infd); FD_SET(connection->socketFD, &infd); @@ -582,9 +519,10 @@ { if (select(connection->socketFD+1,&infd,NULL,NULL,&tv) > 0) { - if (recv(connection->socketFD, &lpszBuffer[nRecv], 1, 0) <= 0) + r = recv(connection->socketFD, &lpszBuffer[nRecv], 1, 0); + if (0 == r || SOCKET_ERROR == r) { - INTERNET_SetLastError(sock_get_error(errno)); + INTERNET_SetLastError(WSAGetLastError()); goto lend; }
_____
Modified: trunk/reactos/lib/wininet/utility.c --- vendor/wine/dlls/wininet/current/utility.c 2006-01-15 22:22:02 UTC (rev 20908) +++ trunk/reactos/lib/wininet/utility.c 2006-01-15 22:25:16 UTC (rev 20909) @@ -147,9 +147,9 @@
else len = strlenW(lpszServerName);
- sz = WideCharToMultiByte( CP_UNIXCP, 0, lpszServerName, len, NULL, 0, NULL, NULL ); + sz = WideCharToMultiByte( CP_THREAD_ACP, 0, lpszServerName, len, NULL, 0, NULL, NULL ); name = HeapAlloc(GetProcessHeap(), 0, sz+1); - WideCharToMultiByte( CP_UNIXCP, 0, lpszServerName, len, name, sz, NULL, NULL ); + WideCharToMultiByte( CP_THREAD_ACP, 0, lpszServerName, len, name, sz, NULL, NULL ); name[sz] = 0; phe = gethostbyname(name); HeapFree( GetProcessHeap(), 0, name ); _____
Added: trunk/reactos/lib/wininet/wininet.xml --- vendor/wine/dlls/wininet/current/wininet.xml 2006-01-15 22:22:02 UTC (rev 20908) +++ trunk/reactos/lib/wininet/wininet.xml 2006-01-15 22:25:16 UTC (rev 20909) @@ -0,0 +1,33 @@
+<module name="wininet" type="win32dll" baseaddress="${BASEADDRESS_WININET}" installbase="system32" installname="wininet.dll" allowwarnings="true"> + <autoregister infsection="OleControlDlls" type="DllInstall" /> + <importlibrary definition="wininet.spec.def" /> + <include base="wininet">.</include> + <include base="ReactOS">include/wine</include> + <define name="__REACTOS__" /> + <define name="__USE_W32API" /> + <define name="_WIN32_IE">0x600</define> + <define name="_WIN32_WINNT">0x501</define> + <define name="WINVER">0x501</define> + <library>wine</library> + <library>ntdll</library> + <library>kernel32</library> + <library>user32</library> + <library>advapi32</library> + <library>shell32</library> + <library>shlwapi</library> + <library>mpr</library> + <library>ws2_32</library> + <file>cookie.c</file> + <file>dialogs.c</file> + <file>ftp.c</file> + <file>gopher.c</file> + <file>http.c</file> + <file>internet.c</file> + <file>netconnection.c</file> + <file>urlcache.c</file> + <file>utility.c</file> + <file>wininet_main.c</file> + <file>rsrc.rc</file> + <file>version.rc</file> + <file>wininet.spec</file> +</module> Property changes on: trunk/reactos/lib/wininet/wininet.xml ___________________________________________________________________ Name: svn:eol-style + native _____
Modified: trunk/reactos/media/doc/README.WINE --- trunk/reactos/media/doc/README.WINE 2006-01-15 22:22:02 UTC (rev 20908) +++ trunk/reactos/media/doc/README.WINE 2006-01-15 22:25:16 UTC (rev 20909) @@ -78,7 +78,7 @@
reactos/lib/urlmon # Synced to Wine-0_9_5 reactos/lib/uxtheme # Synced to Wine-0_9_5 reactos/lib/version # Out of sync -reactos/lib/wininet # Out of sync +reactos/lib/wininet # Synced to Wine-0_9_5 reactos/lib/wintrust # Synced to Wine-0_9_5 reactos/lib/winmm # Forked at Wine-20050628 reactos/lib/winmm/midimap # Forked at Wine-20050628 _____
Modified: trunk/reactos/w32api/include/wininet.h --- trunk/reactos/w32api/include/wininet.h 2006-01-15 22:22:02 UTC (rev 20908) +++ trunk/reactos/w32api/include/wininet.h 2006-01-15 22:25:16 UTC (rev 20909) @@ -474,11 +474,42 @@
#define INTERNET_OPTION_HTTP_VERSION 59 #define INTERNET_OPTION_RESET_URLCACHE_SESSION 60 #define INTERNET_OPTION_ERROR_MASK 62 +#define INTERNET_OPTION_FROM_CACHE_TIMEOUT 63 +#define INTERNET_OPTION_BYPASS_EDITED_ENTRY 64 +#define INTERNET_OPTION_DIAGNOSTIC_SOCKET_INFO 67 #define INTERNET_OPTION_CODEPAGE 68 +#define INTERNET_OPTION_CACHE_TIMESTAMPS 69 +#define INTERNET_OPTION_DISABLE_AUTODIAL 70 +#define INTERNET_OPTION_MAX_CONNS_PER_SERVER 73 +#define INTERNET_OPTION_MAX_CONNS_PER_1_0_SERVER 74 +#define INTERNET_OPTION_PER_CONNECTION_OPTION 75 +#define INTERNET_OPTION_DIGEST_AUTH_UNLOAD 76 +#define INTERNET_OPTION_IGNORE_OFFLINE 77 +#define INTERNET_OPTION_IDENTITY 78 +#define INTERNET_OPTION_REMOVE_IDENTITY 79 +#define INTERNET_OPTION_ALTER_IDENTITY 80 +#define INTERNET_OPTION_SUPPRESS_BEHAVIOR 81 +#define INTERNET_OPTION_AUTODIAL_MODE 82 +#define INTERNET_OPTION_AUTODIAL_CONNECTION 83 +#define INTERNET_OPTION_CLIENT_CERT_CONTEXT 84 +#define INTERNET_OPTION_AUTH_FLAGS 85 #define INTERNET_OPTION_COOKIES_3RD_PARTY 86 +#define INTERNET_OPTION_COOKIES_3RD_PARTY 86 +#define INTERNET_OPTION_DISABLE_PASSPORT_AUTH 87 +#define INTERNET_OPTION_SEND_UTF8_SERVERNAME_TO_PROXY 88 +#define INTERNET_OPTION_EXEMPT_CONNECTION_LIMIT 89 +#define INTERNET_OPTION_ENABLE_PASSPORT_AUTH 90 + +#define INTERNET_OPTION_HIBERNATE_INACTIVE_WORKER_THREADS 91 +#define INTERNET_OPTION_ACTIVATE_WORKER_THREADS 92 +#define INTERNET_OPTION_RESTORE_WORKER_THREAD_DEFAULTS 93 +#define INTERNET_OPTION_SOCKET_SEND_BUFFER_LENGTH 94 + #define INTERNET_OPTION_PROXY_SETTINGS_CHANGED 95 +#define INTERNET_OPTION_DATAFILE_EXT 96 + #define INTERNET_FIRST_OPTION INTERNET_OPTION_CALLBACK -#define INTERNET_LAST_OPTION INTERNET_OPTION_PROXY_SETTINGS_CHANGED +#define INTERNET_LAST_OPTION INTERNET_OPTION_DATAFILE_EXT
#define INTERNET_PRIORITY_FOREGROUND 1000 #define INTERNET_HANDLE_TYPE_INTERNET 1