Commit Graph

244 Commits

Author SHA1 Message Date
Juan Lang 880133d248 wininet: Store hostname for secure connection in its SSL context. 2009-12-14 12:05:45 +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 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 358e7b7c8a wininet: Directly return error status from NETCON_recv. 2009-12-01 12:58:34 +01:00
Jacek Caban c55d0a8516 wininet: Directly return error status from NETCON_close. 2009-11-30 12:48:46 +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
Juan Lang 41592569fd wininet: Unload OpenSSL when unloading wininet. 2009-10-02 17:11:49 +02:00
Jacek Caban 5d6f01b76b wininet: Rename WININET_strdup_WtoA to heap_strdupWtoA. 2009-07-17 11:16:55 +02:00
Jacek Caban e09dfcfa99 wininet: Rename WININET_strdup_AtoW to heap_strdupAtoW and handle NULL argument in its implementation. 2009-07-17 11:16:50 +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 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
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
Alexandre Julliard 5c227a9d8a wininet: Add a critical section to protect the read-ahead buffer. 2009-05-28 23:01:28 +02:00
Alexandre Julliard d1de5f37d0 wininet: Get rid of the SSL-specific read-ahead buffer. 2009-05-14 16:55:29 +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 8077480b0e wininet: Support asynchronous HttpEndRequest. 2009-04-08 16:10:19 +02:00
Hans Leidekker 0fabf540e7 wininet: Keep track of the number of bytes written. 2009-04-08 16:10:00 +02:00
Andrew Talbot f815b68a30 wininet: Declare some functions static. 2009-02-02 12:11:51 +01:00
Hans Leidekker b013ad168b wininet: Implement InternetReadFileExW. 2009-01-16 12:34:26 +01:00
Francois Gouget a6c07ffba4 wininet & winhttp: Remove the MSG_WAITALL definition as it is not needed. 2008-12-12 11:46:50 +01:00
Alexandre Julliard 82280618db wininet: Include ws2tcpip.h before anything else for the Windows build. 2008-12-09 11:33:25 +01:00
Jacek Caban 7426e7e055 wininet: Moved more InternetQueryOption implementation to vtbl. 2008-07-21 12:18:48 +02:00
Alexandre Julliard 7c61679989 wininet: Include openssl/ssl.h before Windows headers. 2008-06-02 12:14:37 +02:00
Jacek Caban e2933c20d6 wininet: Move INTERNET_OPTION_HANDLE_TYPE to vtbl. 2008-03-12 11:59:41 +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 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
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 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 d7a49e8147 wininet: Added beginning support for HTTP cache files. 2008-02-15 10:00:03 +01: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
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 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
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
Rob Shearman cb28969c2a wininet: Implement NTLM support for proxy authentication. 2007-06-06 12:11:34 +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 4b507685e8 wininet: Add support for SSPI authentication for HTTP. 2007-05-21 16:52:10 +02:00
Andrew Talbot 57746f9592 wininet: Replace inline static with static inline. 2007-03-26 12:20:03 +02:00
Paul Vriens 46812a4bba wininet: Remove unused function. 2007-02-06 12:30:45 +01:00
Bang Jun-Young b71e42b794 wininet: config.h police. 2007-02-05 12:25:55 +01:00
Rob Shearman 272954bd81 wininet: Change the HTTP code to not assume that the connection will be closed at the end of every request. 2007-01-04 21:17:34 +01:00
Rob Shearman ac1b527498 wininet: Use the Content-Length header to work out how much HTTP data there is left to be read
and don't try to read any more than what is available.
2007-01-04 21:17:12 +01:00
Rob Shearman 02c89e5c6f wininet: Remove the custom thread pool implementation and use QueueUserWorkItem instead. 2007-01-04 21:13:53 +01:00
Jacek Caban 49f5ee746c wininet: Get rid of ASYNC_FUNC enum. 2006-12-26 12:50:19 +01:00
Jacek Caban f08ff892be wininet: Use proc instead of enum in FTPFINDNEXTW request. 2006-12-26 12:50:09 +01:00
Jacek Caban 3a08f1f656 wininet: Use proc instead of enum in FTPRENAMEFILEW request. 2006-12-26 12:50:00 +01:00
Jacek Caban 97157ccee0 wininet: Use proc instead of enum in FTPREMOVEDIRECTORYW request. 2006-12-26 12:49:53 +01:00
Jacek Caban ee99b3f0c5 wininet: Use proc instead of enum in FTPDELETEFILEW request. 2006-12-26 12:49:47 +01:00
Jacek Caban 054108368e wininet: Use proc instead of enum in FTPGETFILEW request. 2006-12-26 12:49:41 +01:00
Jacek Caban 3c90016f2f wininet: Use proc instead of enum in FTPOPENFILEW request. 2006-12-26 12:49:32 +01:00
Jacek Caban 3b77ff24c2 wininet: Use proc instead of enum in FTPGETCURRENTDIRECTORYW request. 2006-12-26 12:49:27 +01:00
Jacek Caban 0d464ba8db wininet: Use proc instead of enum in FTPFINDFIRSTFILEW request. 2006-12-26 12:49:19 +01:00
Jacek Caban c4aa47badd wininet: Use proc instead of enum in FTPCREATEDIRECTORY request. 2006-12-26 12:49:08 +01:00
Jacek Caban f28b0e3b10 wininet: Use proc instead of enum in FTPSETCURRENTDIRECTORY request. 2006-12-26 12:49:01 +01:00
Jacek Caban 4adce67cf6 wininet: Use proc instead of enum in FTPUTFILE request. 2006-12-26 12:48:53 +01:00
Jacek Caban 662c885a0b wininet: Use proc instead of enum in INTERNETREADFILEEXA request. 2006-12-26 12:48:40 +01:00
Jacek Caban 8c3ca8d817 wininet: Use proc instead of enum in INTERNETOPENURLW request. 2006-12-26 12:48:30 +01:00
Jacek Caban 5dd5536a9a wininet: Remove not used HTTPOPENREQUESTW request. 2006-12-26 12:48:21 +01:00
Jacek Caban c156845560 wininet: Use proc instead of enum in HTTPSENDREQUESTW request. 2006-12-26 12:48:09 +01:00
Jacek Caban e30037f0d5 wininet: Use proc instead of enum in SENDCALLBACK request. 2006-12-26 12:47:57 +01:00
Jacek Caban 7bd385b714 wininet: Use handle stored in WININETHANDLEHEADER instead of WININET_FindHandle. 2006-10-31 11:46:47 +01:00
Jacek Caban ae430f9323 wininet: Store handle in WININETHANDLEHEADER and use it in SendCallback. 2006-10-30 11:36:09 +01:00
Jacek Caban 957516f8e6 wininet: Remove lpwhparent from WININETHANDLERHEADER. 2006-10-30 11:36:02 +01:00
Jacek Caban 550ffef212 wininet: Store WININETFTPSESSIONW pointer in WININETFTPFILEW. 2006-10-30 11:35:56 +01:00
Jacek Caban 51ba292716 wininet: Store WININETFTPSESSIONW pointer in WININETFTPFINDNEXTW. 2006-10-30 11:35:43 +01:00
Jacek Caban 91312d7d57 wininet: Move ftp FindNextFile implementation to ftp.c. 2006-10-30 11:35:36 +01:00
Jacek Caban 96c0c6c5d9 wininet: Store WININETAPPINFOW pointer in WININETFTPSESSIONW. 2006-10-30 11:35:09 +01:00
Jacek Caban a9bdc01e19 wininet: Store pointer to WININETHTTPSESSIONW in WININETHTTPREQUESTW. 2006-10-30 11:34:51 +01:00
Jacek Caban c250617d88 wininet: Store WININETAPPINFOW pointer in WININETHTTPSESSIONW. 2006-10-30 11:34:21 +01:00
Jonathan Ernst 360a3f9142 Update the address of the Free Software Foundation. 2006-05-23 14:11:13 +02:00
Mike McCormack c1dce86f1f wininet: Fix peeking of http data with a nul byte in it. 2006-05-05 16:33:30 +02:00
Robert Shearman 5b5d45586e wininet: Implement setting of send and receive timeouts. 2006-03-14 17:50:41 +01:00
Robert Shearman 9981f337e3 wininet: Don't continue to connect to a secure server without SSL support since it won't work.
Don't continue to connect to a secure server without SSL support since
it won't work. Return an error back to the application instead.
2006-03-06 20:00:21 +01:00
Aric Stewart 8b0883576e wininet: INTERNET_OPTION_SECURITY_CERTIFICATE_STRUCT work.
Beginning of framework to implement handling of InternetQueryOption
for INTERNET_OPTION_SECURITY_CERTIFICATE_STRUCT.
2006-01-20 20:16:56 +01:00
Aric Stewart 1e946d3e14 wininet: HTTP headers reworking.
Redo how headers are handled, eliminating the concept of Standard
Headers and allow all headers to be added multiple times.
Allow querying of headers with an index to get the multiple headers.
Respect response vs request headers in HttpQueryInfo.
Add a number of tests to extensively test header adding and replacing.
2005-12-13 17:07:41 +01:00
Robert Shearman 067f09604a wininet: global function/data cleanup
Make some functions and a structure static since they are only used in
one file.
2005-12-03 18:03:08 +01:00
Robert Shearman f6252cf43e Remove duplicated code by modifying HTTP_HttpSendRequest so that it
can be used by both HttpSendRequest and HttpSendRequestEx.
Also allow HttpSendRequestEx to be used asynchronously.
2005-11-30 12:31:22 +01:00
Robert Shearman 13d371da54 Move the initiation of the SSL connection into a separate function. 2005-11-28 11:54:31 +01:00
Robert Shearman 3592110af7 Add a host port field that preserves the requested port of the
destination URL.
2005-11-28 11:53:05 +01:00
Robert Shearman 7bb3463166 Add a new field "lpszHostName" to the session to track the host name
of the HTTP server, as opposed to the server that we will connect to
that could be a proxy server. Fixes the "Host:" header that we send to
servers.
2005-11-28 10:40:42 +01:00
Robert Shearman 756f197945 Rename SendAsyncCallback to INTERNET_SendCallback. 2005-11-22 11:59:07 +00:00
Robert Shearman e6157dde9d We shouldn't pass the struct hostent returned from gethostbyname as
it's not thread-safe and isn't needed anyway.
2005-11-15 18:16:55 +00:00
Robert Shearman 5b1fd2e58e SSL doesn't need to use a different socket to unsecure communications. 2005-11-15 12:01:40 +00:00
Robert Shearman 01e91e5f6c Implement InternetReadFileExA (based on a patch by Brian Gerst). 2005-11-12 19:10:56 +00:00
Jacek Caban 02708c6227 Make functions static. 2005-10-26 10:07:58 +00:00
Aric Stewart 4a38fb2b10 Move the peek_msg buffers for SSL connections into the
WININET_CONNECTION structure to prevent 2 threads from clobbering each
other's buffers.
2005-10-20 11:35:54 +00:00
Mike McCormack 9b95bb526d Fix some warnings. 2005-06-13 19:05:42 +00:00
Lionel Ulmer d792a6af7b Added/improved TRACEing. 2004-12-23 11:18:29 +00:00
Steven Edwards 191a91d44a MSVC porting fixes. 2004-12-20 18:50:33 +00:00
Eric Pouech 4056d7ef8c Fixed some errors in function prototypes. 2004-12-13 21:19:01 +00:00
Robert Shearman ed517f3a8b InternetSetStatusCallback can be used on any handle and callbacks are
inherited by derived handles.
2004-09-20 19:10:31 +00:00
Alexandre Julliard 60a8fcf4b0 Avoid using socklen_t. 2004-09-16 20:34:27 +00:00
Robert Shearman 37f2cc8274 Store HTTP host header in the same way as most other headers. 2004-09-13 19:33:17 +00:00
Steven Edwards c91ae456b8 Use Windows sockets when building Wininet on Mingw. 2004-09-03 18:57:19 +00:00
Mike McCormack 13b6ce6da8 Fix warnings generated with -Wsign-compare. 2004-08-09 18:54:23 +00:00
Mike McCormack 3a1391b8dd Use pointers internally and refcount all objects. 2004-07-19 21:49:39 +00:00
Robert Shearman dee8751ca8 Fix HttpQueryInfo(HTTP_QUERY_RAW_HEADERS*) so that it returns the
actual headers received, not just reconstituting them from processed
data.
2004-07-19 20:09:20 +00:00
Kevin Koltzau 1d2d2d6bf1 Move all FTP functions to unicode.
Improve FTP LIST parsing.
2004-05-25 04:02:05 +00:00
Kevin Koltzau 917df92356 Prevent memory leak and superfluous status notifications. 2004-05-13 05:17:25 +00:00
Mike McCormack a4e902cbe1 Convert the wininet HTTP functions to Unicode. 2004-03-30 04:36:09 +00:00
Mike McCormack 09d2d47721 Convert WININETAPPINFOA structure to unicode. 2004-03-25 05:29:47 +00:00
Lionel Ulmer 1d5e6b6725 Better TRACEing in some functions. 2004-02-09 22:01:49 +00:00
Lionel Ulmer e0e314780a Implemented proper asynchronous InternetOpenUrl handling. 2004-02-09 21:45:38 +00:00
Mike McCormack 7cc70c0a8f Implement proper HINTERNET handles. 2004-02-07 01:03:41 +00:00
Vincent Béron f68ec6fc5d Undefine FAR to avoid conflict with ssl.h. 2003-11-25 01:48:01 +00:00
Dmitry Timoshkov 2581db8f6a Fixed some problems found while compiling and linking Wine under
Cygwin.
2003-10-14 05:27:43 +00:00
Mike McCormack b8921a24ab Use unions instead of defines in async work requests. 2003-09-25 20:25:22 +00:00
Alexandre Julliard a3cba5235d Avoid DSA type conflict between ssl.h and commctrl.h. 2003-08-05 19:21:08 +00:00
Mike McCormack a1c16d28fa Implement support for proxies with usernames and passwords. 2003-07-22 03:17:52 +00:00
Lionel Ulmer a1852bff23 - fix multiple consecutive downloads (by flushing when needed the
command socket)
- detect attempts to download multiple files at the same time
- fix size / date reporting when enumerating files
- fix Y2K problem in NT parsing of files
2003-07-21 22:04:14 +00:00
Lionel Ulmer 2429d51ff2 - use SIZE command to retrieve the file size (as the file size is not
part of the WinNT acknowledgement string)
- free the handle / close the socket on end of download
- fix InternetReadFile in the FTP case
- fix FTP_ReceiveResponse
2003-07-21 19:59:03 +00:00
David Hammerton 852c7ae404 - implemented support for https protocol
- fixes to the http protocol
2003-06-20 23:26:56 +00:00
Patrik Stridvall 1ee88a2bfb Removed trailing white space. 2002-08-28 23:43:43 +00:00
Aric Stewart ff9b9d4ef8 Reworking of http and asyncronous calls to get IE6 to install.
Added a version resource.
Added unit test for http.
2002-06-21 23:59:49 +00:00
Vincent Béron 9a62491660 Removed trailing whitespace. 2002-05-31 23:06:46 +00:00
Alexandre Julliard 0799c1a780 Added LGPL standard comment, and copyright notices where necessary.
Global replacement of debugtools.h by wine/debug.h.
2002-03-09 23:29:33 +00:00
Francois Gouget 909bcde294 Fix compilation errors on FreeBSD. 2001-09-10 23:07:39 +00:00
Francois Gouget a0f98f13d9 Made independent from winsock.
Include the needed headers directly in internet.h.
2001-08-24 19:13:36 +00:00
Chris Morgan b9807b405e Add includes for <time.h>. 2001-02-15 21:24:07 +00:00
Andreas Mohr f5682a0f8e - implemented passive FTP transfers (PASV, needed for firewalls)
- fixed lstnSocket closing
2000-12-29 05:19:57 +00:00
Ulrich Czekalla c275724cbf HTTP protocol now supported, InternetCrackUrl fixed, lots of other
fixes.
2000-06-11 20:04:44 +00:00
Alexandre Julliard 819fa8ce38 Merged urlmon.dll and wininet.dll from the Corel tree (implementation
by Ulrich Czekalla <ulrichc@corel.ca>)
2000-04-11 20:07:00 +00:00