Commit Graph

790 Commits

Author SHA1 Message Date
Andrew Talbot 7b380e0aeb wininet: Assign to structs instead of using memcpy. 2008-03-24 11:33:16 +01:00
Rob Shearman 99f651bd37 wininet: The lpszLocalFileName parameter to CommitUrlCacheEntryA is optional, so check before converting it from Unicode to ANSI. 2008-03-17 15:20:10 +01:00
Jacek Caban e8be5eaba7 wininet: Don't use query and hash part of URL to generate cache file name. 2008-03-17 11:42:39 +01:00
Marcus Meissner ed966469a4 wininet: Split out NULL ptr and function ptr check. 2008-03-15 11:29:16 +01:00
Rob Shearman db5745c001 wininet: If we receive an error from InitializeSecurityContext in HTTP_DoAuthorization then set pAuthInfo->finished so that we don't carry on using the security context. 2008-03-15 10:58:38 +01:00
Rob Shearman e74514b138 wininet: Assume that if we're connected to an HTTP/1.1 server then connections can be kept alive by default.
So don't close the connection in this case in HTTP_FinishedReading.
2008-03-15 10:58:38 +01:00
Joris Huizer 4fca67e651 wininet: Fixed typos in two out-of-memory checks. 2008-03-13 20:44:18 +01:00
Rob Shearman bcfb47e85b wininet: Fix local variable shadowing in URLCacheContainer_OpenIndex. 2008-03-12 19:21:38 +01:00
Rob Shearman 716ecc42f9 wininet: Support the lpszFileExtension "reserved" parameter being passed into CommitUrlCacheEntryA.
Store it in the URL cache entry and allow it to be retrieved by 
RetrieveUrlCacheEntryFile and other functions.
2008-03-12 17:58:37 +01:00
Rob Shearman fee165ae47 wininet: The URL in CommitUrlCacheEntryInternal shouldn't be restricted to MAX_PATH chars in length.
Dynamically allocate it and consolidate cleanup at the end of the function.
2008-03-12 17:58:31 +01:00
Rob Shearman cdd135c2f3 wininet: Fix URLCache_LocalFileNameToPathA to return a full path, rather than just the container path.
This was caused by path_len including the nul-terminator and so the rest 
of the string was being added after the nul-terminator, which is 
incorrect. This is fixed by making path_len not include the nul-terminator.

Also fix a few other issues with the function, like not passing a 
correct length into the second call to WideCharToMultiByte, nRequired 
being calculated incorrectly and the string not always being nul-terminated.

Add a test for this function by testing the lpszLocalFileName field 
obtained from RetrieveUrlCacheEntryFileA.
2008-03-12 17:58:20 +01:00
Rob Shearman c46279ced7 wininet: Make some pointers const in URL cache functions. 2008-03-12 17:58:10 +01:00
Rob Shearman f1af593988 wininet: Use LIST_FOR_EACH_ENTRY in URLCacheContainers_FindContainerW instead of LIST_FOR_EACH and LIST_ENTRY. 2008-03-12 17:58:03 +01:00
Rob Shearman 4041c2015b wininet: Add tests for Find{First,Next}UrlCacheEntryA functions. 2008-03-12 17:57:56 +01:00
Rob Shearman 160bc04343 wininet: Move URL cache hash entry validation to a separate function. 2008-03-12 17:57:30 +01:00
Rob Shearman 7fde7aef78 wininet: Implement FindFirstUrlCacheEntry{A, W}, FindNextUrlCacheEntryA and FindCloseUrlCache. 2008-03-12 17:57:25 +01:00
Rob Shearman 99e7f7ab6e wininet: Add tests for some URL cache functions. 2008-03-12 17:55:41 +01:00
Rob Shearman ebaa4d987d wininet: Only clear authentication header if the connection has authentication information. 2008-03-12 17:55:21 +01:00
Rob Shearman b8ad4dee86 wininet: Fix proxy authentication by using the data in lpwhr->pProxyAuthInfo in HTTP_InsertAuthorization instead of lpwhr->pAuthInfo when inserting the Proxy-Authentication header. 2008-03-12 17:55:12 +01:00
Jacek Caban 7e63f95326 wininet: Move InternetQueryOption(INTERNET_OPTION_SECURITY_CERTIFICATE_STRUCT) to vtbl. 2008-03-12 12:00:00 +01:00
Jacek Caban ce6a2289c6 wininet: Move InternetQueryOption(INTERNET_OPTION_DATAFILE_NAME). 2008-03-12 11:59:54 +01:00
Jacek Caban 0e010d83a1 wininet: Move InternetQueryOption(INTERNET_OPTION_URL) to vtbl. 2008-03-12 11:59:47 +01:00
Jacek Caban e2933c20d6 wininet: Move INTERNET_OPTION_HANDLE_TYPE to vtbl. 2008-03-12 11:59:41 +01:00
Rob Shearman 0be05ab6aa wininet: Retrieve the maximum token length from the SSP and use a buffer of that length in calls to InitializeSecurityContextW.
Otherwise, InitializeSecurityContextW could run out of space with our
small, fixed buffer and fail.
2008-03-10 19:12:54 +01:00
Rob Shearman 7631bdf0c1 wininet: Allow HTTP_DoAuthorization to accept a NULL username/domain in the non-Basic case.
When using SSPI, pass in a NULL identity in this case so that the SSP
can try to use cached credentials.
2008-03-10 19:12:54 +01:00
Rob Shearman 8c6ac00820 wininet: Don't call DeleteSecurityContext and FreeCredentialsHandle on invalid handles. 2008-03-10 19:12:54 +01:00
Rob Shearman bdc81d9963 wininet: Make the reference count of WININETHANDLEHEADER thread-safe by using InterlockedIncrement/InterlockedDecrement. 2008-03-10 19:12:54 +01:00
Rob Shearman 48000893f9 makefiles: Simplify the use of the IMPORTLIB variable in the DLL makefiles.
Only specify the root to keep platform-specifics out of the individual 
DLL makefiles.
2008-03-04 20:55:01 +01:00
Rob Shearman 0aec3fcf86 wininet: Fix compile with MinGW. 2008-03-04 12:01:40 +01:00
Jacek Caban d597fd12fc wininet: Moved InternetReadFileExA to vtbl. 2008-03-03 20:45:31 +01:00
Francois Gouget 89bdd639df wininet/tests: FtpCommandA() is not available on Win9x. So load it dynamically and skip some tests. 2008-03-03 12:04:10 +01:00
Jacek Caban ca39a55e88 wininet: Don't use INTERNET_ReadFile in HTTP_DrainContent. 2008-03-03 12:00:32 +01:00
Jacek Caban 352b4212a1 wininet: Move FTP structs and functions declarations from internet.h. 2008-03-03 12:00:27 +01:00
Jacek Caban 3b4ca69e18 wininet: Move InternetReadFile to vtbl. 2008-03-03 12:00:20 +01:00
Jacek Caban 9a5c046129 wininet: Move INTERNET_STATUS_REQUEST_COMPLETE call from INTERNET_ReadFile. 2008-03-03 12:00:06 +01:00
Jacek Caban d3682dd33f wininet: Fixed some tests. 2008-03-03 12:00:00 +01:00
Jacek Caban 3314184597 wininet: Move InternetQueryDataAvailable to vtbl. 2008-02-29 20:07:13 +01:00
Jacek Caban 66259555ff wininet: Move WININETFTPFINDNEXTW declaration to ftp.c. 2008-02-28 10:44:50 +01:00
Jacek Caban 8c45eecca7 wininet: Moved InternetFindNextFileW implementation to vtbl. 2008-02-28 10:44:42 +01:00
Jacek Caban 0e33eee9a2 wininet: Use vtbl for InternetSetOption(INTERNET_OPTION_[SEND|RECEIVE]_TIMEOUT) implementation. 2008-02-27 14:52:25 +01:00
Jacek Caban 1ffcfbce85 wininet: Use vtbl in InternetWriteFile implementation. 2008-02-27 14:52:24 +01:00
Jacek Caban 7dc9bf677b wininet: Moved close_connection to vtbl. 2008-02-27 14:52:24 +01:00
Jacek Caban 5a535d6b23 wininet: Moved handle destructor to vtbl. 2008-02-27 14:52:24 +01:00
Jacek Caban 928c9f0984 wininet: Fixed version returned by INTERNET_OPTION_VERSION. 2008-02-27 14:52:24 +01:00
Maarten Lankhorst 5132fb4469 wininet: Fix retrieving raw headers. 2008-02-27 14:52:24 +01:00
Maarten Lankhorst 60401737c6 wininet: Add stub for INTERNET_OPTION_PER_CONNECTION. 2008-02-26 11:19:24 +01:00
Francois Gouget 1fa0e443e3 wininet/tests: Don't include the trailing '\0' in dwHeadersLength otherwise HttpSendRequestEx() sends it too which some servers object to. 2008-02-19 13:39:25 +01:00
Francois Gouget abfa73b5c1 wininet: Document HttpAddRequestHeadersW()'s handling of the trailing '\0'. Fix tracing of the corresponding header strings as they may not be '\0' terminated. 2008-02-19 13:39:24 +01:00
Rob Shearman 719cd82f35 wininet: Fix potential buffer overrun in HttpQueryInfoA.
If HTTP_QUERY_CUSTOM is specified then the buffer contains a
null-terminated string on input and data of length len on output. The
code wasn't taking into account that the input len could be less than
the length of the string and thus could result in the allocated buffer
being overrun with the call to WideCharToMultiByte.
2008-02-19 13:39:24 +01:00
Hans Leidekker 9717113fcb wininet: Rename a function to better match what it does. 2008-02-18 13:33:52 +01:00