Commit Graph

159 Commits

Author SHA1 Message Date
Jacek Caban a24b5588d2 wininet: Fixed grouping security error flags. 2012-05-29 10:43:58 +02:00
Jacek Caban 79259064c9 wininet: Handle error flags only for masked-error mode. 2012-05-29 10:43:50 +02:00
Jacek Caban 868575a416 wininet: Store certificate error information in security flags. 2012-05-25 16:58:56 +02:00
Jacek Caban f3dd75d8a4 wininet: Set SECURITY_FLAG_STRENGTH_* flags in NETCONN_secure_connect. 2012-05-25 16:48:06 +02:00
Jacek Caban 90ec92dfd1 wininet: Set SECURITY_FLAG_SECURRE in NETCON_secure_connect. 2012-05-25 16:48:01 +02:00
Jacek Caban 59a0ab54cb wininet: Store security flags in server_t. 2012-05-25 16:47:57 +02:00
Jacek Caban 905ede6c6d wininet: Use hostname stored in server_t in NETCON_secure_connect. 2012-04-30 19:32:58 +02:00
Hans Leidekker 6522393265 wininet: Add support for setting and retrieving the send/receive timeouts. 2012-01-16 12:16:41 +01:00
Hans Leidekker 72273a0786 wininet: Implement the connect timeout. 2012-01-16 12:16:30 +01:00
Francois Gouget 17929b925e wininet: Give a name to the critical sections, make them static and delete them when unloading the dll. 2011-11-16 17:02:22 +01:00
Piotr Caban e80e73586d wininet: Make it possible to ignore CERT_TRUST_IS_PARTIAL_CHAIN error in netconn_verify_cert. 2011-09-14 09:58:39 +02:00
Jerome Leclanche f30616e257 wininet: Fix a warning when compiling --without-openssl. 2011-06-20 19:32:02 +02:00
Jacek Caban adf08d586d wininet: A small netconn_secure_verify code clean up. 2011-06-10 15:28:46 +02:00
Hans Leidekker 9acd1ef15f wininet: Consistently use the allocation macros. 2011-06-01 15:16:53 +02:00
Jacek Caban c280970c3e wininet: Set TCP_NODELAY on socket. 2011-05-11 14:56:49 +02:00
Jacek Caban 8a1df203ae wininet: Added support for persistent HTTP connections. 2011-05-10 18:57:23 +02:00
Jacek Caban 4c1c5fe64c wininet: Moved connected check out of NETCON_set_timeout. 2011-05-04 17:26:51 +02:00
Jacek Caban e594268421 wininet: Moved OpenSSL initialization to separated function. 2011-04-28 18:33:43 +02:00
Jacek Caban 12bf3472dd wininet: Rename WININET_NETCONNECTION to netconn_t. 2011-04-28 18:33:10 +02:00
Jacek Caban 354a74e004 wininet: Use wrappers for HeapAlloc calls. 2011-04-21 16:53:42 +02:00
Alexandre Julliard 5b4be5d4c3 wininet: Use an accessor function instead of directly accessing the X509_STORE_CTX structure. 2011-04-20 16:28:27 +02:00
Jacek Caban 59bcbb2d8b wininet: Fixed race in SSL connection handling. 2011-01-20 12:19:30 +01:00
David Hedberg 3ce9304592 wininet: Respect SECURITY_FLAG_IGNORE_CERT_DATE_INVALID. 2010-12-20 12:47:39 +01:00
Juan Lang c2b42758da wininet: Verify revocation status of certificate chain. 2010-11-16 11:44:11 +01:00
Andrew Nguyen 7591563885 wininet: Fix misleading OpenSSL version number check. 2010-10-25 14:33:23 +02:00
Andrew Nguyen b20e111088 wininet: Fix const qualifier warning when compiling with OpenSSL 1.0.0. 2010-10-25 14:33:12 +02:00
Alexandre Julliard 0cc9c52f8c wininet: Load X509_STORE_CTX_get_ex_data from libcrypto not libssl. 2010-10-08 19:15:45 +02:00
Juan Lang 887aeb6a09 wininet: Support querying the cipher strength of an SSL connection. 2010-10-01 15:20:49 +02:00
Juan Lang 9f6cd2663e wininet: Let CertVerifyCertificateChainPolicy handle certain security flags. 2010-10-01 15:20:27 +02:00
Juan Lang 6808c1c684 wininet: Remove unneeded error message. 2010-09-30 11:14:31 +02:00
Juan Lang 44112c367f wininet: Honor security flags when verifying certificates. 2010-09-30 11:14:16 +02:00
Juan Lang 98dbdadcda wininet: Don't call SSL_connect until initialization is complete. 2010-09-30 11:14:01 +02:00
Juan Lang 181a367a1f wininet: Don't retrieve a certificate that isn't used. 2010-09-30 11:13:55 +02:00
Juan Lang ce0164c3f7 wininet: Store WININET_NETCONNECTION * in SSL context. 2010-09-30 11:13:35 +02:00
Juan Lang 3e51313e37 wininet: Don't make use of OpenSSL's security checks, as crypt32 also verifies certificate chain. 2010-09-30 11:13:12 +02:00
Uwe Bonnes 53391a3445 wininet: Add const qualifier after openssl version check. 2010-08-02 17:39:20 +02:00
Piotr Caban ee68473fe5 wininet: Reconnect if persistent connection was closed by server. 2010-06-29 15:20:56 +02:00
Piotr Caban 8dde5c5168 wininet: Combine certificate errors in HTTP_OpenConnection. 2010-05-19 15:01:00 +02:00
Piotr Caban c6097cafdd wininet: Deal with reading over the end in NETCON_recv. 2010-05-17 13:20:22 +02:00
Hans Leidekker 8858fc9b66 wininet: Don't call libcrypto function after closing the library.
Spotted by Paul Vriens.
2010-02-08 17:14:44 +01:00
Alexandre Julliard 5ded71ff43 wininet: Fix pointer cast warnings on 64-bit. 2009-12-24 12:15:40 +01:00
Juan Lang 09246aa1a7 wininet: Set error and fail if a secure connection's certificate couldn't be verified. 2009-12-16 12:20:26 +01:00
Juan Lang bd5c5953f3 wininet: Return error directly from netconn_verify_cert. 2009-12-16 12:20:21 +01:00
Juan Lang 03fe473ad7 wininet: Check the certificate in an https connection using the crypto api. 2009-12-14 12:06:04 +01:00
Juan Lang 6217326a09 wininet: Set callback to verify hostname with peer's certificate. 2009-12-14 12:05:52 +01:00
Juan Lang 880133d248 wininet: Store hostname for secure connection in its SSL context. 2009-12-14 12:05:45 +01:00
Juan Lang 1350e9d1c0 wininet: Free OpenSSL error strings at unload. 2009-12-14 12:05:37 +01:00
Juan Lang 33e68268a4 wininet: Don't unnecessarily convert hostname to ANSI to check it. 2009-12-14 12:05:31 +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
Hans Leidekker 248939d358 wininet: Clean up locks after closing libssl and libcrypto.
Found by valgrind.
2009-10-27 10:53:32 +01:00
Juan Lang 3c98992f55 wininet: Set callbacks needed by OpenSSL for multithreaded use. 2009-10-02 17:12:13 +02:00
Juan Lang 41592569fd wininet: Unload OpenSSL when unloading wininet. 2009-10-02 17:11:49 +02:00
Juan Lang a001ed7686 wininet: Protect OpenSSL initialization with critical section. 2009-10-01 13:59:12 +02:00
Juan Lang 5c6f47f7a7 wininet: Move initialization of SSL_CTX to library initialization time. 2009-10-01 13:59:03 +02:00
Alexandre Julliard d1de5f37d0 wininet: Get rid of the SSL-specific read-ahead buffer. 2009-05-14 16:55:29 +02:00
Hans Leidekker a7b70911b3 winhttp, wininet: Load i2d_X509 from libcrypto.so. 2009-03-05 13:26:11 +01:00
Aric Stewart 32c3cf1db7 wininet: use debugstr_a in NETCON_getNextLine TRACE to avoid overflow on long lines. 2009-02-16 15:35:14 +01:00
Jacek Caban 4a43c308b5 wininet: Use SSL_pending in NETCON_query_data_available. 2009-01-12 13:01:25 +01:00
Jacek Caban 5bf719690a wininet: Improve NETCON_recv over SSL implementation.
Current implementation uses only peek buffer if there is any data,
which causes reads one byte per call in common
InternetQueryDataAvailable/InternetReadFile scenario.
2009-01-12 13:01:20 +01:00
Alexandre Julliard 82280618db wininet: Include ws2tcpip.h before anything else for the Windows build. 2008-12-09 11:33:25 +01:00
Francois Gouget c1b2008d0c wininet & winhttp: Fix a pointer type mismatch warning when compiling on Windows. On Windows setsockopt() expects a char* while on Unix it accepts anything. 2008-12-08 12:05:57 +01:00
Michael Stefaniuc 61d77284ae wininet: Remove duplicated header includes. 2008-10-16 11:28:08 +02:00
Alexandre Julliard 220bc61c21 Include sys/filio.h to get the FIONREAD definition on Solaris. 2008-08-26 20:40:57 +02:00
Alexandre Julliard 9bded7bb2a wininet: Avoid testing errno when it isn't set. Simplify NETCON_getNextLine a bit. 2008-08-26 20:40:09 +02:00
Alexandre Julliard 7c61679989 wininet: Include openssl/ssl.h before Windows headers. 2008-06-02 12:14:37 +02:00
Alexandre Julliard 8354e6a93a configure: Improve the libcrypto checks. 2008-05-13 10:42:54 +02:00
Kai Blin 63504e9e80 janitorial: Use poll() instead of select(). 2008-03-24 13:41:57 +01:00
Rob Shearman 0aec3fcf86 wininet: Fix compile with MinGW. 2008-03-04 12:01:40 +01:00
Jacek Caban 0e33eee9a2 wininet: Use vtbl for InternetSetOption(INTERNET_OPTION_[SEND|RECEIVE]_TIMEOUT) implementation. 2008-02-27 14:52:25 +01: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
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
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
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 ba590a185a wininet: Fix the case of partial SSL reads from the peek buffer.
Don't return FALSE for a partial read. Fall through to SSL_read and use 
the logic for partial reads there instead of having separate logic and 
recursively calling NETCON_recv. Based on a patch by Michael Moss.
2007-02-21 19:49:50 +01:00
Rob Shearman 392ceba61f wininet: Don't try to read anything if 0 bytes are to be read. 2007-01-10 22:25:44 +01:00
Hans Leidekker cd2c458588 wininet: Win64 printf format warning fixes. 2006-10-05 17:45:14 +02:00
Paul Chitescu 8b1b381872 wininet: MSG_WAITALL support in NETCON_recv with SSL. 2006-08-10 10:54:12 +02: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
Patrick Ammann d437f37f58 wininet: compilation fix
- make netconnection.c compile when HAVE_OPENSSL_SSL_H or 
HAVE_OPENSSL_ERR_H are not defined.
2005-12-05 12:01:56 +01:00
Robert Shearman efd067f2c3 wininet: Correctly set the last error when a called Unix network
function fails.
2005-12-03 18:10:14 +01:00
Robert Shearman 1e5153cf3c Cleanup SSL connections properly, do a few security checks in
NETCON_secure_connect and display errors from SSL on failure. Don't
use SSL_set_bio as SSL_set_fd is cleaner for us.
2005-12-01 11:18:43 +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 5b1fd2e58e SSL doesn't need to use a different socket to unsecure communications. 2005-11-15 12:01:40 +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
Peter Berg Larsen a667d536b9 Janitorial: Get rid of strncpy/strncpyW. 2005-03-29 19:49:21 +00:00
Jon Griffiths eb5bf7dd38 Documentation spelling fixes. 2005-02-25 14:07:56 +00:00
Vincent Béron 3875307d0c Remove #ifdef HAVE_SYS_TYPES_H. 2004-10-08 20:48:44 +00:00
Alexandre Julliard 60a8fcf4b0 Avoid using socklen_t. 2004-09-16 20:34:27 +00:00