Signed-off-by: Max Qian <public@maxqia.com>
---
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;