Commit Graph

510 Commits

Author SHA1 Message Date
Piotr Caban 98fb747aa9 wininet: Delete authorization data on unsucessful login. 2010-07-19 14:38:15 +02:00
Piotr Caban 3cfc7132be wininet: Fix reporting errors in callbacks. 2010-07-19 14:38:15 +02:00
Piotr Caban 898531de80 wininet: Remove get_avail_data check from HTTPREQ_ReadFileExA. 2010-07-01 13:44:02 +02:00
Piotr Caban ee68473fe5 wininet: Reconnect if persistent connection was closed by server. 2010-06-29 15:20:56 +02:00
Hans Leidekker 80dd367846 wininet: Pass the object header pointer to INET_QueryOption. 2010-05-25 13:30:18 +02:00
Piotr Caban 224af0d0e7 wininet: Fix variables values after redirection in HTTP_HttpSendRequestW.
Moved dwContentLength reset after HTTP_DrainContent (this function 
disconnects when dwContentLength is set to ~0u).
2010-05-20 16:48:37 +02:00
Michael Stefaniuc 2c07791c5b wininet: Remove redundant "not NULL/0" checks (coccicheck). 2010-05-20 13:47:52 +02:00
Piotr Caban 8dde5c5168 wininet: Combine certificate errors in HTTP_OpenConnection. 2010-05-19 15:01:00 +02:00
Piotr Caban 4ba60d265a wininet: Fix callbacks sent on connection error. 2010-05-19 15:00:43 +02:00
Juan Lang de6a0a86be wininet: Handle proxy entries of the form <proto>=<proxy>, and allow multiple proxies. 2010-03-15 15:54:10 +01:00
Hans Leidekker 911d0df691 wininet: Fix a memory leak.
Found by Valgrind.
2010-02-23 13:31:07 +01:00
Hans Leidekker 2ed570ecc6 wininet: Fix handling of a response without headers. 2010-02-22 13:16:02 +01:00
Hans Leidekker e5180c101b wininet: Fix a memory leak.
Found by Valgrind.
2010-01-05 16:28:48 +01:00
Jacek Caban b73e31c659 wininet: Return error directly from HTTP_Connect. 2009-12-21 15:36:53 +01:00
Jacek Caban e1958a67d6 wininet: Don't use INTERNET_SetLastError in HttpSendRequestA. 2009-12-21 15:36:53 +01:00
Hans Leidekker 68453a5251 wininet: Always set last error in HttpSendRequest{,Ex}. 2009-12-21 15:01:25 +01:00
Jacek Caban 78b2cedaa6 wininet: Make sure to not read over chunk end in read_gzip_data. 2009-12-17 12:53:23 +01:00
Jacek Caban 9823c23927 wininet: Directly return error status from HTTP_HttpQueryInfoW. 2009-12-14 12:07:52 +01:00
Jacek Caban 2d1c4e6928 wininet: Correctly handle dwContentRead for gzip encoded requests. 2009-12-09 13:13:53 +01:00
Juan Lang 66b4ad208d wininet: Fix an apparent typo. 2009-12-09 12:02:30 +01:00
Juan Lang 3cd54553f3 wininet: Trace more parameters to HTTP_GetCustomHeaderIndex. 2009-12-09 12:02:26 +01:00
Hans Leidekker 4a22c88b37 wininet: Cleanup any existing cache file before creating a new one.
Otherwise we leak the file name and handle when a request is sent again.
Found by Valgrind.
2009-12-07 14:18:29 +01:00
Juan Lang b967fde0a8 wininet: Correct length of data passed to callback when resolving a name. 2009-12-04 14:34:57 +01:00
Jacek Caban a9ecdc6024 wininet: Directly return error status from HTTP_HandleRedirect. 2009-12-03 15:27:22 +01:00
Jacek Caban 741b6611fb wininet: Directly return error status fro HTTP_HttpEndRequest. 2009-12-03 15:27:14 +01:00
Jacek Caban c952e81a89 wininet: Directly return error from HTTP_HttpSendRequest. 2009-12-03 15:27:08 +01:00
Jacek Caban 34fcbb5f75 wininet: Make HTTP_HttpSendRequestW static and avoid its forward declaration. 2009-12-01 12:59:36 +01:00
Jacek Caban e974965185 wininet: Directly return error status from HTTP_HttpAddRequestHeadersW. 2009-12-01 12:59:23 +01:00
Jacek Caban 85a057e186 wininet: Directly return error status from HTTP_HttpOpenRequestW. 2009-12-01 12:59:16 +01:00
Jacek Caban 47c71fcd0a wininet: Make HTTP_HttpOpenRequestW static and avoid forward its declaration. 2009-12-01 12:59:07 +01:00
Jacek Caban b01d58428b wininet: Directly return error status from NETCON_init. 2009-12-01 12:58:58 +01:00
Jacek Caban 1d96e20e8a wininet: Directly return error status from refill_buffer. 2009-12-01 12:58:52 +01:00
Jacek Caban 358e7b7c8a wininet: Directly return error status from NETCON_recv. 2009-12-01 12:58:34 +01:00
Jacek Caban 4e3eabd6fa wininet: Don't use INTERNET_SetLastError in HttpSendRequestW. 2009-11-30 12:48:52 +01:00
Jacek Caban 36cb1ef3d3 wininet: Directly return error status from HTTP_OpenConnection. 2009-11-30 12:48:40 +01:00
Jacek Caban 1ee3ad476e wininet: Directly return error status from WriteFile implementations. 2009-11-30 12:48:33 +01:00
Jacek Caban b77868cbfd wininet: Dorectly return error status from NETCON_secure_connect and NETCON_send. 2009-11-30 12:48:27 +01:00
Jacek Caban bf1da4c857 wininet: Directly return error status from NETCON_connect. 2009-11-30 12:48:20 +01:00
Jacek Caban cff77d602c wininet: Directly return error status from NETCON_create. 2009-11-30 12:48:09 +01:00
Hans Leidekker 4990ca0ea3 wininet: Avoid a crash on NULL lpcszHeader in HttpSendRequestExW. 2009-11-17 16:05:36 +01:00
Hans Leidekker e62fdaf0f1 wininet: Avoid accessing uninitialized memory in HttpSendRequestExW.
Found by valgrind.
2009-10-27 10:53:08 +01:00
Aric Stewart fc5089349d wininet: Cache basic authentication values based on realm and host. 2009-10-13 14:19:47 +02:00
Erik Inge Bolsø 5af1a49738 wininet: Add test for response without headers, avoid crash. 2009-09-30 14:31:57 +02:00
Hans Leidekker 50fef74131 wininet: Destroy authorization info on failure in HTTP_DoAuthorization.
This makes sure the app can retry authorization, e.g. when username and
password are not supplied upfront and there are no cached credentials.
2009-09-02 14:41:40 +02:00
Jacek Caban 4dfec39b6f wininet: Don't free gzip_stream in HTTPREQ_CloseConnection. 2009-08-24 15:17:12 +02:00
Juan Lang 6ae6ea99b4 wininet: Partially implement InternetQueryOption for INTERNET_OPTION_DIAGNOSTIC_SOCKET_INFO. 2009-08-11 12:32:24 +02:00
Jacek Caban 3858e35432 wininet: Explicity delete Content-Length header for gzip encoded connection. 2009-08-03 14:59:35 +02:00
Hans Leidekker fa4c25ddf4 wininet: Correct handling of redirected HEAD requests. 2009-07-22 14:42:49 +02:00
Jacek Caban 97936252dd wininet: Code clean up by using heap_strdup* functions. 2009-07-17 11:21:59 +02:00
Jacek Caban f598709212 wininet: Rename WININET_strdupW to standard heap_strdupW. 2009-07-17 11:16:42 +02:00
Jacek Caban 6d1601a850 wininet: Rename WININETAPPINFOW to appinfo_t. 2009-07-13 10:26:52 +02:00
Jacek Caban 34abacde71 wininet: Rename WININETHTTPREQW to http_request_t. 2009-07-13 10:26:39 +02:00
Jacek Caban e9f4a40584 wininet: Rename WININETHTTPSESSIONW to http_session_t. 2009-07-13 10:26:32 +02:00
Juan Lang 481c9b895d wininet: Support IPv6 addresses in HTTP_ResolveName and HTTP_OpenConnection. 2009-07-10 12:25:25 +02:00
Juan Lang 058e918da5 wininet: Convert WININETSESSIONW's socketAddress to a struct sockaddr_storage. 2009-07-10 12:25:17 +02:00
Juan Lang c572e1c99a wininet: Use address length returned by GetAddress in NETCON_connect. 2009-07-10 12:25:10 +02:00
Juan Lang 44bf025767 wininet: Change type of GetAddress from struct sockaddr_in * to struct sockaddr *. 2009-07-10 12:24:35 +02:00
Jacek Caban 44d633a902 wininet: Rename WININETHANDLEHEADER to object_header_t.
wininet struct names are very unreadable and I hope that patches 
renaming them will be accepted.
2009-07-08 20:13:00 +02:00
Eric van Beurden 42c7dc94e2 wininet: Add a terminating empty line to the headers if necessary. 2009-06-25 14:34:13 +02:00
Aric Stewart c6ae945bf7 wininet: Semi-stub for quering Http INTERNET_OPTION_SECURITY_FLAGS. 2009-06-23 15:53:01 +02:00
Aric Stewart b9f2f9d226 wininet: Improve HTTP status 100 handling. 2009-06-23 15:53:01 +02:00
Hans Leidekker aa05f97fc9 wininet: Don't delete the cache file when closing a request. 2009-06-23 11:48:17 +02:00
Hans Leidekker c29328583d wininet: Implement InternetQueryOption(INTERNET_OPTION_CACHE_TIMESTAMPS). 2009-06-16 15:41:08 +02:00
Mike Kaplinskiy 6c767c4e2c wininet: Make \r and \n valid header separators. 2009-06-16 13:49:52 +02:00
Hans Leidekker 70454967f9 wininet: Always create a URL cache entry. 2009-06-16 13:37:29 +02:00
Jacek Caban a76db21978 wininet: Fixed gzip decoding on chunked stream. 2009-06-08 15:27:21 +02:00
Alexandre Julliard 4b2a15de9f wininet: Always use a full URL for redirects, even with an absolute path. 2009-06-05 20:37:57 +02:00
Eric van Beurden 59a217847c wininet: Rearrange invalid header checks. 2009-06-05 14:43:24 +02:00
Eric van Beurden 5caf809426 wininet: Check for bad allocation in HeapReAlloc. 2009-06-05 14:43:24 +02:00
Jacek Caban 11ca05f6ae wininet: Added support for decompressing gzip encoded content. 2009-06-01 16:16:01 +02:00
Jacek Caban 26bbf072aa wininet: Change read_buf type to BYTE. 2009-06-01 16:16:01 +02:00
Jacek Caban d1d1da35ca wininet: Always set path in HttpOpenRequest. 2009-06-01 16:16:01 +02:00
Jacek Caban 83170893ae wininet: Move strings to avoid duplications. 2009-06-01 16:16:01 +02:00
Alexandre Julliard 5c227a9d8a wininet: Add a critical section to protect the read-ahead buffer. 2009-05-28 23:01:28 +02:00
Marcus Meissner 1d362c90a4 wininet: lpwhr cannot be NULL (Coverity 927). 2009-05-20 13:34:12 +02:00
Alexandre Julliard 3d02c42b39 wininet: Add a read-ahead buffer to allow InternetQueryDataAvailable to return the right values in chunked mode. 2009-05-14 16:45:38 +02:00
Alexandre Julliard e531ccd6b0 wininet: Centralize detection of chunked mode and add a flag for it in the http request structure. 2009-05-14 16:42:44 +02:00
Hans Leidekker 6bb143af33 wininet: Don't send any data after being redirected. 2009-05-06 16:10:01 +02:00
Alexandre Julliard 9ee1b06056 wininet: Pass the complete redirected URL in INTERNET_STATUS_REDIRECT callbacks. 2009-05-04 20:49:15 +02:00
Hans Leidekker 3fc27f67f3 wininet: Replace any existing content length header in HttpSendRequest. 2009-04-30 12:47:40 +02:00
Paul TBBle Hampson 4d57ee3409 wininet: HTTP_HttpAddRequestHeadersW should ignore 0-length headers. 2009-04-27 13:24:42 +02:00
Hans Leidekker 8ab00329dd wininet: Replace any existing cookie header. 2009-04-24 15:51:47 +02:00
Hans Leidekker 8077480b0e wininet: Support asynchronous HttpEndRequest. 2009-04-08 16:10:19 +02:00
Hans Leidekker 3a711fb56b wininet: Don't start reading when POST data hasn't been completely written. 2009-04-08 16:10:11 +02:00
Hans Leidekker 85eb438ff7 wininet: Send notifications from InternetWriteFile. 2009-04-08 16:10:05 +02:00
Hans Leidekker 0fabf540e7 wininet: Keep track of the number of bytes written. 2009-04-08 16:10:00 +02:00
Hans Leidekker 100ee0ad2a wininet: Ignore invalid response headers. 2009-03-04 13:06:06 +01:00
Hans Leidekker 96b639dc8a wininet: Remove MSG_PEEK hack from HTTP_GetResponseHeaders.
Fixes Quicken 2009. Aric said he added this hack back in 2002
to work around a bug in the IE6 installer, which installs fine
now without this hack.
2009-03-04 13:06:04 +01:00
Aric Stewart f936832595 wininet: Make use of improved cookie functions and cookie paths. 2009-02-18 14:08:15 +01:00
Hans Leidekker 8f1a3e4e1f wininet: Properly drain content for chunked transfers. 2009-02-13 15:33:04 +01:00
Andrew Talbot f815b68a30 wininet: Declare some functions static. 2009-02-02 12:11:51 +01:00
Hans Leidekker aac2e8dd19 wininet: Make sure redirected POST requests become GET requests. 2009-01-29 15:59:03 +01:00
Jacek Caban e13781a315 wininet: Set dwError to 0 in first INTERNET_STATUS_REQUEST_COMPLETE notification. 2009-01-22 15:28:23 +01:00
Hans Leidekker 667e48286e wininet: Calculate the header size if needed in HttpSendRequestW. 2009-01-16 12:34:35 +01:00
Hans Leidekker b013ad168b wininet: Implement InternetReadFileExW. 2009-01-16 12:34:26 +01:00
Hans Leidekker 1c07d94ddc wininet: Send a content length header for all verbs other than GET. 2009-01-15 12:41:53 +01:00
Jacek Caban 12931062fb wininet: Make sure that we have data buffered before sending INTERNET_STATUS_REQUEST_COMPLETE notification. 2009-01-13 15:28:39 +01:00
Alexandre Julliard 97da2e57fb wininet: Use ~0u instead of ~0ul for DWORD values. 2009-01-05 12:40:39 +01:00
Alexandre Julliard 82280618db wininet: Include ws2tcpip.h before anything else for the Windows build. 2008-12-09 11:33:25 +01:00
Andrew Talbot bc8d8e5211 wininet: Sign-compare warnings fix. 2008-12-08 22:03:00 +01:00
Hans Leidekker 2ac52b0eee wininet: Stop leaking username and password. 2008-12-03 09:46:45 +01:00
Hans Leidekker a57cc6dcf6 wininet: Support setting username and password options on request handles. 2008-12-03 09:46:30 +01:00
Hans Leidekker d1076aeab4 wininet: Don't increase index in HttpQueryInfo if requested level is HTTP_QUERY_STATUS_CODE.
Some apps depend on this quirk because they don't reset the index
before subsequent calls to HttpQueryInfo.
2008-12-02 14:03:54 +01:00
Michael Stefaniuc e6bd2881d8 wininet: Remove some superfluous casts. 2008-12-01 12:57:03 +01:00
Francois Gouget 523679666d wininet: Remove WINAPI on static functions where not needed. 2008-11-25 11:50:08 +01:00
Lei Zhang be2570f7a0 wininet: Handle HTTP 303 redirects. 2008-11-05 10:55:40 +01:00
Lei Zhang 905f628c05 wininet: Remove redundant variables. 2008-11-05 10:55:36 +01:00
Marcus Meissner 2d5ca30994 wininet: Removed redundant NULL check (Coverity). 2008-11-03 11:50:10 +01:00
Hans Leidekker bd80529709 wininet: Add an exception handler in HttpOpenRequestA to protect against invalid accept type pointers. 2008-10-24 14:25:00 +02:00
Hans Leidekker d5dca63cb6 wininet: Don't destroy authentication data when closing the connection.
Fixes basic authentication in combination with connection close semantics.
Spotted by Vincent Povirk.
2008-10-17 14:12:33 +02:00
Jan-Peter Nilsson b261836709 wininet: Fix HTTP_ProcessCookies only processing one cookie. 2008-10-08 14:17:08 +02:00
Rob Shearman 0715d9c123 wininet: Fix crash when calling HttpQueryInfoA/W(HTTP_QUERY_RAW_HEADERS) before any response has been received from a server. 2008-10-08 12:17:11 +02:00
Hans Leidekker 128b8a5e0c wininet: Avoid a crash on certain buffer size queries in HTTP_HttpQueryInfoW. 2008-10-07 12:03:12 +02:00
Rob Shearman d31ce9ae37 wininet: Compare HRESULT values explicitly against S_OK instead of using an implicit != 0 comparison. 2008-10-01 11:43:30 -05:00
Hans Leidekker 8c20124fc4 wininet: Support setting username and password through options. 2008-09-25 11:51:41 +02:00
Lei Zhang f7e56d19c4 wininet: Remove redundant CrLf variables. 2008-08-28 11:24:50 +02:00
Lei Zhang bc9e214f6f wininet: Work around NULL headers when handling HTTP_QUERY_RAW_HEADERS_CRLF. 2008-08-28 11:24:50 +02:00
Vincent Povirk 17c0c0a54b wininet: Default to keep-alive when the server is HTTP/1.1, not when it isn't. 2008-08-19 14:56:06 +02:00
Dan Kegel 1e7f89194c wininet: HTTP_QUERY_RAW_HEADERS_CRLF length shouldn't include nul. 2008-07-31 14:02:04 +02:00
Hans Leidekker 216d4c0834 wininet: Fix cookie buffer overflow.
Spotted by Yann Droneaud.
2008-07-21 12:22:05 +02:00
Hans Leidekker 572b0bab88 wininet: Move insertion of cookie header from HttpOpenRequest to HttpSendRequest.
Based on a patch by Yann Droneaud.
2008-07-21 12:21:58 +02:00
Hans Leidekker e3e2622e41 wininet: Fix a memory leak. 2008-07-21 12:21:27 +02:00
Jacek Caban 7426e7e055 wininet: Moved more InternetQueryOption implementation to vtbl. 2008-07-21 12:18:48 +02:00
Jacek Caban 13a95f1648 wininet: Move InternetQueryOption(INTERNET_OPTION_USER_AGENT) to vtbl. 2008-07-21 12:18:41 +02:00
Vincent Povirk fd5b97bc4d wininet: Always respect Proxy-Connection: or Connection: if it exists. 2008-07-17 10:51:26 +02:00
Alexander Morozov 4f51b6c1d8 wininet: Add port number to Host HTTP header. 2008-07-07 14:16:07 +02:00
Alexander Morozov ad2f53db8f wininet: Add support of INTERNET_FLAG_NO_CACHE_WRITE. 2008-07-07 14:16:07 +02:00
Alexander Morozov 70218092bb wininet: Remove unneeded variable. 2008-07-04 19:50:58 +02:00
Hans Leidekker bdf311f91f wininet: Only reconnect when redirected to an external site. 2008-06-30 15:08:47 +02:00
Hans Leidekker 6233704481 wininet: Resolve hostname once per connection. 2008-06-24 11:45:18 +02:00
Hans Leidekker 34ff555cf9 wininet: Send a 'Pragma: no-cache' header if asked for. 2008-06-24 11:45:10 +02:00
Hans Leidekker 3434935f44 wininet: Clear last error upon successful return from HttpSendRequest. 2008-06-24 11:44:57 +02:00
Rob Shearman 62e0a8ca38 wininet: Fix memory leak in HTTP_DeleteCustomHeader.
Free the memory associated with the field and value of the custom
header otherwise it will be leaked. Found by Valgrind.
2008-06-21 11:12:50 +02:00
Colin Finck bbd550ad5c wininet: Always pass a variable as lpNumberOfBytesWritten on a WriteFile call if lpOverlapped is set to NULL. 2008-06-19 11:47:03 +02:00
Hans Leidekker 656a035821 wininet: Don't send a "Connection: Close" header. 2008-06-02 14:05:32 +02:00
Hans Leidekker 2f99450c49 wininet: Make resolving hostnames thread-safe. 2008-06-02 13:44:31 +02:00
Lei Zhang bd58463eda wininet: Send https scheme to proxy server when appropriate. 2008-05-22 11:44:29 +02:00
Hans Leidekker 694a09284a wininet: Fix buffer size query for HttpQueryInfo(HTTP_QUERY_RAW_HEADERS_CRLF). 2008-05-19 14:04:10 +02:00
Hans Leidekker e1b889830d wininet: INTERNET_STATUS_REQUEST_COMPLETE callback must supply a handle. 2008-05-19 13:35:24 +02:00
Rob Shearman 6021fa09f3 wininet: Fix a typo in is_basic_auth_value.
This fixes basic authentication when the server uses a realm string.
2008-05-19 13:35:19 +02:00
Hans Leidekker 1c5bc9a772 wininet: HTTP_BuildProxyRequestUrl returns a pointer. 2008-05-12 14:01:06 +02:00
Hans Leidekker aec0e93d23 wininet: Don't overwrite content length header in HttpSendRequest. 2008-05-12 14:00:51 +02:00
Hans Leidekker 493b6915ca wininet: Deal with bogus accept types array passed into HttpOpenRequestA. 2008-05-07 17:49:31 +02:00
Andrew Talbot 07ae2992b8 wininet: Remove unused variables. 2008-05-05 12:52:26 +02:00
Hans Leidekker e2f690a0ac wininet: Don't add the user agent header until HttpSendRequest is called. 2008-05-05 12:51:56 +02:00
Dan Hipschman d3051cba22 wininet: Don't forget the INTERNET_STATUS_REDIRECT callback in HttpEndRequest. 2008-04-24 12:03:34 +02:00
Dan Hipschman a1ebffb452 wininet: Remove custom content-length/type headers from redirects. 2008-04-23 12:23:39 +02:00
Austin English 6e59cd2c34 Spelling fixes. 2008-04-22 12:20:12 +02:00
Aric Stewart bade2a31a6 wininet: Correct the case where Content-Length is set as well as Transfer-Encoding == chunked. 2008-04-18 11:45:52 +02:00
Alexandre Julliard 631f469cb5 wininet: Avoid size_t type in trace. 2008-04-04 13:12:21 +02:00