Jacek Caban : wininet: Fail in NETCON_secure_connect instead of create_netconn if OpenSSL is not available .

Alexandre Julliard julliard at winehq.org
Thu Feb 21 14:29:36 CST 2013


Module: wine
Branch: master
Commit: 85991a7cddd1bde0480cd981179f8241b5d2d9ae
URL:    http://source.winehq.org/git/wine.git/?a=commit;h=85991a7cddd1bde0480cd981179f8241b5d2d9ae

Author: Jacek Caban <jacek at codeweavers.com>
Date:   Thu Feb 21 18:08:46 2013 +0100

wininet: Fail in NETCON_secure_connect instead of create_netconn if OpenSSL is not available.

---

 dlls/wininet/netconnection.c |   17 ++++++++++++++---
 1 files changed, 14 insertions(+), 3 deletions(-)

diff --git a/dlls/wininet/netconnection.c b/dlls/wininet/netconnection.c
index 8d5fc6f..4869d60 100644
--- a/dlls/wininet/netconnection.c
+++ b/dlls/wininet/netconnection.c
@@ -463,7 +463,6 @@ static long get_tls_option(void) {
 #endif
     return tls_option;
 }
-#endif /* SONAME_LIBSSL */
 
 static CRITICAL_SECTION init_ssl_cs;
 static CRITICAL_SECTION_DEBUG init_ssl_cs_debug =
@@ -477,7 +476,7 @@ static CRITICAL_SECTION init_ssl_cs = { &init_ssl_cs_debug, -1, 0, 0, 0, 0 };
 
 static DWORD init_openssl(void)
 {
-#if defined(SONAME_LIBSSL) && defined(SONAME_LIBCRYPTO)
+#ifdef SONAME_LIBCRYPTO
     int i;
 
     if(OpenSSL_ssl_handle)
@@ -600,10 +599,11 @@ static DWORD init_openssl(void)
 
     return ERROR_SUCCESS;
 #else
-    FIXME("can't use SSL, not compiled in.\n");
+    FIXME("can't use SSL, libcrypto not compiled in.\n");
     return ERROR_INTERNET_SECURITY_CHANNEL_ERROR;
 #endif
 }
+#endif /* SONAME_LIBSSL */
 
 static DWORD create_netconn_socket(server_t *server, netconn_t *netconn, DWORD timeout)
 {
@@ -663,6 +663,7 @@ DWORD create_netconn(BOOL useSSL, server_t *server, DWORD security_flags, BOOL m
     netconn_t *netconn;
     int result;
 
+#ifdef SONAME_LIBSSL
     if(useSSL) {
         DWORD res;
 
@@ -674,6 +675,7 @@ DWORD create_netconn(BOOL useSSL, server_t *server, DWORD security_flags, BOOL m
         if(res != ERROR_SUCCESS)
             return res;
     }
+#endif
 
     netconn = heap_alloc_zero(sizeof(*netconn));
     if(!netconn)
@@ -910,6 +912,8 @@ DWORD NETCON_secure_connect(netconn_t *connection, server_t *server)
         res = netcon_secure_connect_setup(connection, get_tls_option()|SSL_OP_NO_TLSv1_1|SSL_OP_NO_TLSv1_2);
     }
 #endif
+#else
+    FIXME("Cannot connect, OpenSSL not available.\n");
 #endif
     return res;
 }
@@ -943,6 +947,7 @@ DWORD NETCON_send(netconn_t *connection, const void *msg, size_t len, int flags,
 	    return ERROR_INTERNET_CONNECTION_ABORTED;
         return ERROR_SUCCESS;
 #else
+        FIXME("not supported on this platform\n");
 	return ERROR_NOT_SUPPORTED;
 #endif
     }
@@ -980,6 +985,7 @@ DWORD NETCON_recv(netconn_t *connection, void *buf, size_t len, int flags,
 
         return *recvd > 0 ? ERROR_SUCCESS : ERROR_INTERNET_CONNECTION_ABORTED;
 #else
+        FIXME("not supported on this platform\n");
 	return ERROR_NOT_SUPPORTED;
 #endif
     }
@@ -1010,6 +1016,9 @@ BOOL NETCON_query_data_available(netconn_t *connection, DWORD *available)
     {
 #ifdef SONAME_LIBSSL
         *available = connection->ssl_s ? pSSL_pending(connection->ssl_s) : 0;
+#else
+        FIXME("not supported on this platform\n");
+        return FALSE;
 #endif
     }
     return TRUE;
@@ -1058,6 +1067,7 @@ LPCVOID NETCON_GetCert(netconn_t *connection)
     r = X509_to_cert_context(cert);
     return r;
 #else
+    FIXME("not supported on this platform\n");
     return NULL;
 #endif
 }
@@ -1080,6 +1090,7 @@ int NETCON_GetCipherStrength(netconn_t *connection)
     pSSL_CIPHER_get_bits(cipher, &bits);
     return bits;
 #else
+    FIXME("not supported on this platform\n");
     return 0;
 #endif
 }




More information about the wine-cvs mailing list