Jacek Caban : wininet: Use schannel in NETCON_GetCipherStrength if OpenSSL is not available.

Alexandre Julliard julliard at winehq.org
Wed Apr 3 14:33:55 CDT 2013


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

Author: Jacek Caban <jacek at codeweavers.com>
Date:   Wed Apr  3 14:03:24 2013 +0200

wininet: Use schannel in NETCON_GetCipherStrength if OpenSSL is not available.

---

 dlls/wininet/netconnection.c |   12 ++++++++++--
 1 files changed, 10 insertions(+), 2 deletions(-)

diff --git a/dlls/wininet/netconnection.c b/dlls/wininet/netconnection.c
index e896d84..cc16950 100644
--- a/dlls/wininet/netconnection.c
+++ b/dlls/wininet/netconnection.c
@@ -1299,8 +1299,16 @@ int NETCON_GetCipherStrength(netconn_t *connection)
     pSSL_CIPHER_get_bits(cipher, &bits);
     return bits;
 #else
-    FIXME("not supported on this platform\n");
-    return 0;
+    SecPkgContext_ConnectionInfo conn_info;
+    SECURITY_STATUS res;
+
+    if (!connection->secure)
+        return 0;
+
+    res = QueryContextAttributesW(&connection->ssl_ctx, SECPKG_ATTR_CONNECTION_INFO, (void*)&conn_info);
+    if(res != SEC_E_OK)
+        WARN("QueryContextAttributesW failed: %08x\n", res);
+    return res == SEC_E_OK ? conn_info.dwCipherStrength : 0;
 #endif
 }
 




More information about the wine-cvs mailing list