Commit Graph

868 Commits

Author SHA1 Message Date
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
Hans Leidekker 2617fb6dea wininet: Handle the "100 Continue" response by ignoring it. 2008-02-18 13:33:33 +01:00
Hans Leidekker d0033dbaed wininet: Honour the version override in HttpOpenRequest. 2008-02-18 13:33:10 +01:00
Rob Shearman 2e99817a40 wininet: Fix the return value check of SHGetSpecialFolderPathW in URLCacheContainers_CreateDefaults.
It returns a BOOL, not an HRESULT.
2008-02-16 13:54:28 +01:00
Rob Shearman f8f9dbbbe7 wininet: Fix an off-by-one error in the boundary checks in HTTP_DecodeBase64. 2008-02-16 13:54:17 +01:00
Jacek Caban f979134270 wininet: Code clean up. 2008-02-15 10:00:12 +01:00
Jacek Caban e49e792849 wininet: Added cache test. 2008-02-15 10:00:10 +01:00
Jacek Caban 6ce88e0aab wininet: Added correct InternetQueryOption(INTERNET_OPTION_DATAFILE_NAME) implementation. 2008-02-15 10:00:06 +01:00
Jacek Caban d7a49e8147 wininet: Added beginning support for HTTP cache files. 2008-02-15 10:00:03 +01:00
Andrew Talbot 45481db078 wininet: Remove unneeded casts. 2008-02-05 12:19:37 +01:00
Hans Leidekker b0912d1151 wininet: Add zero value content length header to POST requests only. 2008-02-04 14:18:51 +01:00
Hans Leidekker c132dd9360 wininet: Send HTTP/1.1 requests by default. 2008-02-04 14:18:20 +01:00
Hans Leidekker b069ef4268 wininet: Make sure not to overwrite any caller supplied authorization header. 2008-02-04 14:18:20 +01:00
Rob Shearman 59ab0cf362 wininet: HTTP_Connect should fail if a NULL or empty hostname is passed in.
Add tests for these circumstances.
2008-02-04 13:04:34 +01:00
Rob Shearman 5edcf3ab6c wininet: Pass the server name into InitializeSecurityContextW. 2008-01-25 12:30:08 +01:00
Marcus Meissner 45fbfbcef4 wininet: Check if buffer has overflowed potentially. 2008-01-24 11:41:22 +01:00
Andrey Esin 325649c3f8 wininet: One addition to Russian translation. 2008-01-23 11:31:42 +01:00
Francois Gouget 44b52b128c Assorted spelling fixes. 2008-01-16 12:48:29 +01:00
Gerald Pfeifer 3f1a20b8b1 wininet: Fix type of a loop variable in HTTP_BuildHeaderRequestStr(). 2008-01-14 15:31:37 +01:00
Austin English 0e4adae973 Spelling fixes. 2008-01-07 13:41:01 +01:00
Hans Leidekker 4d84eb26d0 wininet: Fix handling of host and referrer headers in HttpOpenRequest. 2008-01-07 12:02:12 +01:00
Marcus Meissner fe475d9e88 wininet: Check return value of InternetCrackUrl when checking referrer host. 2008-01-03 13:30:26 +01:00
Michael Stefaniuc d152d5ceeb wininet: Fix typo in comparison with NULL. Found by Smatch. 2007-12-31 16:45:49 +01:00
Johannes Stezenbach a3ae419594 wininet: Fix error return code in FindFirstUrlCacheEntryW() stub. 2007-12-23 14:17:12 +01:00
Johannes Stezenbach 7e18416e80 wininet: Implement support for INTERNET_OPTION_VERSION in InternetQueryOptionW. 2007-12-23 14:17:12 +01:00
Hans Leidekker b529b3bb32 wininet: Make FtpGetCurrentDirectoryA pass all todo_wine tests. 2007-12-10 12:27:08 +01:00
Francois Gouget 6cdbb96b27 wininet/tests: Remove trailing spaces in ok() calls. 2007-12-07 14:53:25 +01:00
Roy Shea 91d07f6995 wininet: Added check of dwStructSize required by Windows in calls to InternetCrackUrlA. 2007-12-05 12:05:37 +01:00
Roy Shea 7903d7f3f4 wininet: Removed inline from copy_compsA and zero_compsA to allow Windows testing. 2007-12-05 12:05:10 +01:00
Zac Brown 6ad1ef7a28 wininet: Add test for FtpGetCurrentDirectoryA in wininet/tests/ftp.c. 2007-12-03 14:50:52 +01:00
Zac Brown b9b900f4b8 wininet: Fix FtpGetCurrentDirectoryW to handle bad input. 2007-12-03 14:50:47 +01:00
Rob Shearman 01826e0c98 wininet: Don't clear the auth data for Basic authentication in HTTP_InsertAuthorizationForHeader.
It isn't tracked per connection, unlike NTLM authentication, and so the 
server will return a 401 error and try to get us to authenticate again. 
However, this doesn't work as the authentication information is assumed 
by the code to be valid for the whole connection.
2007-11-27 16:42:26 +01:00
Michael Stefaniuc 6d8c2d744b wininet/tests: Do not compare the return value of socket() with 0. Use INVALID_SOCKET instead. 2007-11-27 12:29:42 +01:00
Hans Leidekker a0c3816dbf wininet: Initialize path buffer in InternetSetCookie. 2007-11-19 13:52:26 +01:00
Hans Leidekker 5ccfec6428 wininet: Fix a number of problems with InternetGetCookie.
This version incorporates Lei Zhang's changes to the test, with his consent.
2007-11-15 11:07:46 +01:00
Hans Leidekker b6ee3c1d6b wininet: Fix a number of problems with InternetSetCookie. 2007-11-15 11:07:35 +01:00
Hans Leidekker 864db96626 wininet: Fix two handle leaks in the test. 2007-11-12 11:40:59 +01:00
Lei Zhang 83a4dbaa68 wininet: Skip strcmp() in a test if the returned value/len is wrong. 2007-11-09 12:56:11 +01:00
Juan Lang f15bbdcd5a wininet: Initialize length of values that aren't being requested. 2007-11-09 12:25:01 +01:00
Juan Lang 9adf83e90d wininet: Don't use HEAP_ZERO_MEMORY on memory that's fully initialized. 2007-11-08 12:18:31 +01:00
Juan Lang a1ab4a7eff wininet: Fix another typo. 2007-11-08 12:18:30 +01:00
Juan Lang b210e3a751 wininet: Fix typo. 2007-11-08 12:18:30 +01:00
Lei Zhang f727e56d6d wininet: Initialize ftp sockets. 2007-11-08 12:18:30 +01:00
EA Durbin bc745fa4c4 wininet: Return true for case INTERNET_OPTION_SECURITY_FLAGS. 2007-11-07 12:02:30 +01:00
Nigel Liang 6f44627b04 wininet: Release object in HttpSendRequestExW before return on error. 2007-11-05 15:05:16 +01:00
Hans Leidekker 9e934ee178 wininet: Implement and test FtpCommand{A, W}. 2007-11-01 12:37:27 +01:00
Hans Leidekker 5270b429fa wininet: Correct several ftp server response to error code mappings. 2007-11-01 12:37:18 +01:00
Hans Leidekker 1a8327468c wininet: Don't release the parent object in FTP_Connect, the caller will do that. 2007-10-30 14:19:20 +01:00
Hans Leidekker a844a38fad wininet: Use a single connection for all ftp tests. 2007-10-30 11:30:15 +01:00
Hans Leidekker 64359c2432 wininet: Always send a content length header, even if there is no content. 2007-10-29 13:06:50 +01:00
Hans Leidekker e8eaee4f6a wininet: Always close the data connection before receiving a server response. 2007-10-29 12:03:15 +01:00
Hans Leidekker e55531d694 wininet: Always return an error when a transfer is in progress. 2007-10-29 12:03:06 +01:00
Hwang YunSong(황윤성) 94ac6cdfd8 wininet: Updated Korean resource. 2007-10-25 13:57:54 +02:00
Francois Gouget c4b1195c0c Assorted spelling fixes. 2007-10-23 18:20:27 +02:00
Juan Lang d857c04c95 wininet: Don't assume lpBuffersIn is not NULL. 2007-10-23 12:23:52 +02:00
Juan Lang 1b42c00789 wininet: Pass hash entry directly to URLCache_DeleteEntryFromHash. 2007-10-23 12:23:41 +02:00
Juan Lang d448a2ad9b wininet: Implement RetrieveUrlCacheEntryFileW. 2007-10-23 12:23:36 +02:00
Juan Lang 922dc7b627 wininet: Implement UnlockUrlCacheEntryFileW. 2007-10-23 12:23:32 +02:00
Juan Lang 9949926441 wininet: Pass hash entry directly to URLCache_HashEntrySetUse rather than searching for it again. 2007-10-23 12:23:25 +02:00
Juan Lang 601b6835ed wininet: Introduce a URLCache_FindHashW, and use it rather than URLCache_FindEntryInHashW. 2007-10-23 12:23:19 +02:00
Juan Lang af61cbdd03 wininet: Use URLCache_FindHash rather than URLCache_FindEntryInHash. 2007-10-23 12:23:10 +02:00
Hans Leidekker 533aa4dcd5 wininet: Use passive mode for the ftp tests. 2007-10-22 13:52:00 +02:00
Hans Leidekker cc54dfe1e2 wininet: Fix some failing ftp tests on Windows and Wine. 2007-10-22 13:51:56 +02:00
Hans Leidekker dd5347ee6a wininet: Properly clean up ftp sessions. 2007-10-22 13:51:52 +02:00
Hans Leidekker c33a51eaf2 wininet: Separate ftp session destruction from closing connections. 2007-10-22 13:51:47 +02:00
Juan Lang c527c7611a wininet: Implement DeleteUrlCacheEntryW. 2007-10-22 12:36:08 +02:00
Juan Lang d155915861 wininet: Implement IsUrlCacheEntryExpiredW. 2007-10-22 12:36:08 +02:00
Juan Lang 6fdec3d501 wininet: Add a URLCache_FindEntryInHashW helper, and use it to simplify finding an entry in a hash with a wide-character URL string. 2007-10-22 12:36:08 +02:00
Juan Lang 1594b429f8 wininet: Implement IsUrlCacheEntryExpiredA. 2007-10-22 12:36:08 +02:00
Juan Lang a6c252c122 wininet: Update comments to match function parameters. 2007-10-22 12:36:08 +02:00
Nigel Liang 7d2ac2039b wininet: Release object in HttpEndRequestW after use. 2007-10-18 13:21:28 +02:00
Detlef Riekenberg a53df53f2b wininet/tests: Test NULL pointer for InternetCanonicalizeUrlA. 2007-10-16 13:55:13 +02:00
Detlef Riekenberg 9b43174f3f wininet: Fix flags and SetLastError for InternetCanonicalizeUrlA/W. 2007-10-16 13:55:02 +02:00
Daniel Nylander f53e196ed5 wininet: Add Swedish translation. 2007-10-16 12:41:13 +02:00
Andrew Talbot 2b8a6a3a06 wininet: Fix a memory leak. 2007-10-12 11:48:31 +02:00
Detlef Riekenberg f98b4507ba wininet/tests: Initial tests for InternetCanonicalizeUrlA. 2007-10-11 16:24:28 +02:00
Misha Koshelev 705b01c054 wininet: When sending INTERNET_STATUS_HANDLE_CLOSING make sure the freed handle is not yet available. 2007-09-25 13:51:34 +02:00
Misha Koshelev 01de104a75 wininet/tests: Add test to show that InternetCloseHandle closes open child handles too. 2007-09-21 11:53:09 +02:00
Misha Koshelev 728e5fa559 wininet: Track child handles, free all child handles on WININET_FreeHandle as native. 2007-09-21 11:53:04 +02:00
Juan Lang ba45902daf wininet: Create a TCP connection if FLAG_ICC_FORCE_CONNECTION is specified. 2007-09-18 10:42:35 +02:00
Alexandre Julliard 23c58d3a21 wininet/ftp: There's no need to query the file size before retrieving a file. 2007-09-17 12:56:48 +02:00
Alexandre Julliard b20694e732 wininet/tests: Anonymous FTP can succeed without a password. 2007-09-14 16:59:06 +02:00
Americo Jose Melo c5ba90131e Update the Portuguese translation. 2007-09-13 13:28:26 +02:00
Francois Gouget d4337f2b5e wininet: Fix many wininet prototypes: the context is a DWORD_PTR now. 2007-08-30 17:02:49 +02:00
Misha Koshelev 2f3805a3bd wininet: Send INTERNET_STATUS_HANDLE_CLOSING when object is being destroyed as native does. 2007-08-23 13:13:35 +02:00
Misha Koshelev 0f117e568f wininet: Separate connection closing from object destruction. 2007-08-23 13:13:24 +02:00
Misha Koshelev 4b2f9af998 wininet: Rename WININET_object_destructor to a more general WININET_object_function. 2007-08-23 13:13:14 +02:00
Misha Koshelev 1ee9ea91a5 wininet: Fix reference count on internet handle for asynchronous InternetReadFileEx call. 2007-08-22 12:18:59 +02:00
Misha Koshelev 5320d3e3ea wininet: Don't send INTERNET_STATUS_HANDLE_CLOSING when closing handle opened with InternetOpen for HTTP connection. 2007-08-22 12:18:59 +02:00
Paul Vriens 36e416b614 wininet/tests: Fix test failures for wininet.dll that comes with IE7. 2007-08-17 11:47:46 +02:00
Mikołaj Zalewski 5cdfee8153 wininet: A small test for HttpQueryInfoA. 2007-08-16 11:52:12 +02:00
Mikołaj Zalewski 3fa49f0f02 wininet: Make HttpQueryInfo[AW] work for lpBuffer == NULL and len > 0. 2007-08-16 11:52:06 +02:00
Mikołaj Zalewski ab7d17727c wininet: Support HTTP_QUERY_RAW_HEADER_CRLF|HTTP_QUERY_FLAG_REQUEST_HEADERS. 2007-08-16 11:51:52 +02:00
Misha Koshelev 9aac2fcf55 wininet/tests: Test that for an open HTTP connection InternetQueryDataAvailable succeeds or returns ERROR_IO_PENDING. 2007-08-13 12:36:25 +02:00
Misha Koshelev 6ea2441ff9 wininet: InternetQueryDataAvailable does not return ERROR_NO_MORE_FILES when no more HTTP data is available. 2007-08-13 12:36:19 +02:00
Misha Koshelev 662f44a619 wininet: Don't peek data in InternetQueryDataAvailable if there is no more to be expected. 2007-08-13 12:36:09 +02:00
Hans Leidekker bb9413d77a wininet: Process caller supplied headers after inserting connection and authorization headers, not before. 2007-08-10 12:58:17 +02:00
Hans Leidekker 4332f418a5 wininet: Implement INTERNET_OPTION_CALLBACK in InternetSetOption{A, W}. 2007-08-10 12:58:17 +02:00
Hans Leidekker c1c6f4ad6b wininet: Also set last error on NULL first parameter in InternetCreateUrl{A, W}. 2007-08-10 12:58:17 +02:00
Hans Leidekker d10891eab9 wininet: Don't crash on NULL first or last parameter in InternetCrackUrlW. 2007-08-10 12:58:17 +02:00
Francois Gouget f33abb6d96 wininet: Add a skeleton winineti.h header with fixed prototypes for [GS]etUrlCacheConfigInfo*(), DeleteIE3Cache() and IsUrlCacheEntryExpired*().
Remove SetUrlCacheConfigInfo*() from wininet.h, it's supposed to be declared in winineti.h.
Update win32.api to fix the winapi_check warnings.
2007-08-09 14:11:56 +02:00
Francois Gouget 36d98a32eb wininet: #undef some macros to avoid a conflict between openssl/ssl.h and wincrypt.h. 2007-08-09 14:11:35 +02:00
Huw Davies dc881a258e wininet: Fix the case when Proxy or ProxyBypass is NULL. 2007-08-07 12:42:31 +02:00
Aric Stewart c8dfc02bfb wininet: Strip Accept-Encoding from http/1.0 requests. 2007-07-27 12:47:51 +02:00
Huw Davies 00631b2480 wininet: Stub for InternetQueryFortezzaStatus(). 2007-07-19 14:38:42 +02:00
Huw Davies 3f2d93b512 wininet: Stubs for IsUrlCacheEntryExpired[AW]. 2007-07-19 11:54:10 +02:00
Huw Davies d9bdf793fe wininet: Certain options of InternetQueryOption can take a NULL handle, so don't do the NULL handle check at the beginning. 2007-07-19 11:54:04 +02:00
Misha Koshelev 663c0146a5 wininet: Fix behavior of InternetQueryDataAvailable if INTERNET_FLAG_ASYNC is set. 2007-07-16 14:59:16 +02:00
Misha Koshelev 4e0371f322 wininet/tests: Add testing framework and tests for internet status callbacks. 2007-07-16 14:59:04 +02:00
Misha Koshelev 0d1f2bf526 wininet/tests: Properly handle ERROR_IO_PENDING from InternetQueryDataAvailable. 2007-07-16 14:58:58 +02:00
Alexandre Julliard f91909b3b0 configure: Make the libssl soname check depend on the header check. 2007-07-02 19:42:53 +02:00
Alexandre Julliard 5a95cfbd9c configure: Export the shared library extension instead of hardcoding .so. 2007-07-02 14:35:05 +02:00
Michael Stefaniuc c576803f6d wininet: Remove superfluous casts of void pointers to other pointer types. 2007-06-27 12:53:42 +02:00
Hans Leidekker 9a6ba225e2 wininet: More lenient parsing of the passive mode server response. 2007-06-07 19:24:00 +02:00
Rob Shearman cb28969c2a wininet: Implement NTLM support for proxy authentication. 2007-06-06 12:11:34 +02:00
Rob Shearman c16bb07186 wininet: Send the correct callbacks during InternetReadFileExA calls. 2007-06-06 12:10:55 +02:00
Jeremy White 7ad691a5ee wininet: Mark Proxy Authorization header as a request header, so it actually gets sent. 2007-06-01 12:40:22 +02:00
Alexandre Julliard 1ada7ba20e wininet: Fixed compilation without SSL. 2007-05-29 23:27:08 +02:00
Rob Shearman 56267608f1 wininet: Add a new NETCON_query_data_available function.
Use it to implement the behaviour where InternetReadFileExA does a 
synchronous request if the data is available and asynchronous otherwise.
2007-05-29 14:00:20 +02:00
Rob Shearman 76507d475b wininet: Don't close the connection if the caller passes in zero for the number of bytes to be read.
Only close the connection when the bytes read equals the content length.

Fixup HTTP_DrainContent, which relied on the previous incorrect 
behaviour to instead close connections with no content length manually.
2007-05-29 13:49:02 +02:00
Rob Shearman 2e21d090cb wininet: Cope with non-nul-terminated header strings being passed to HttpSendRequestW. 2007-05-29 13:44:36 +02:00
Rob Shearman 4d1b8b1a4e wininet: Fix basic authentication by putting Basic directing into the scheme field, as the pszAuthValue can have an optional realm string appended. 2007-05-29 13:44:35 +02:00
Andrew Talbot 8ee390f6f5 wininet: Exclude unused headers. 2007-05-29 12:10:17 +02:00