[PATCH] secur32 : add and fix some algids

Max Qian public at maxqia.com
Sun Jun 26 10:45:16 CDT 2016


---
 dlls/secur32/schannel_gnutls.c | 13 +++++++++----
 1 file changed, 9 insertions(+), 4 deletions(-)

diff --git a/dlls/secur32/schannel_gnutls.c b/dlls/secur32/schannel_gnutls.c
index bcadd47..9d6af60 100644
--- a/dlls/secur32/schannel_gnutls.c
+++ b/dlls/secur32/schannel_gnutls.c
@@ -316,10 +316,11 @@ static ALG_ID schannel_get_mac_algid(gnutls_mac_algorithm_t mac)
     case GNUTLS_MAC_UNKNOWN:
     case GNUTLS_MAC_NULL: return 0;
     case GNUTLS_MAC_MD5: return CALG_MD5;
-    case GNUTLS_MAC_SHA1:
-    case GNUTLS_MAC_SHA256:
-    case GNUTLS_MAC_SHA384:
-    case GNUTLS_MAC_SHA512: return CALG_SHA;
+    case GNUTLS_MAC_SHA1: return CALG_SHA1;
+    case GNUTLS_MAC_MD2: return CALG_MD2;
+    case GNUTLS_MAC_SHA256: return CALG_SHA_256;
+    case GNUTLS_MAC_SHA384: return CALG_SHA_384;
+    case GNUTLS_MAC_SHA512: return CALG_SHA_512;
     default:
         FIXME("unknown algorithm %d\n", mac);
         return 0;
@@ -331,8 +332,12 @@ static ALG_ID schannel_get_kx_algid(gnutls_kx_algorithm_t kx)
     switch (kx)
     {
         case GNUTLS_KX_RSA: return CALG_RSA_KEYX;
+	case GNUTLS_KX_DHE_PSK:
         case GNUTLS_KX_DHE_DSS:
         case GNUTLS_KX_DHE_RSA: return CALG_DH_EPHEM;
+        case GNUTLS_KX_ECDHE_RSA:
+        case GNUTLS_KX_ECDHE_PSK: return CALG_ECDH;
+	case GNUTLS_KX_ECDHE_ECDSA: return CALG_ECDSA;
     default:
         FIXME("unknown algorithm %d\n", kx);
         return 0;
-- 
2.9.0




More information about the wine-patches mailing list