summaryrefslogtreecommitdiff
path: root/Cryptlib/OpenSSL/crypto/dh/dh_pmeth.c
diff options
context:
space:
mode:
authorGary Lin <glin@suse.com>2016-03-17 14:59:04 +0800
committerPeter Jones <pjones@redhat.com>2016-09-06 15:05:36 -0400
commit0297aa3cf34ca3a95a6e95db7aff82020aefa0e5 (patch)
treed2b0ff4c76d6df0960782c647a33cb30f7a2ef86 /Cryptlib/OpenSSL/crypto/dh/dh_pmeth.c
parent7b9281af14930040ec6cb333de2d64e0ff91cf3c (diff)
downloadefi-boot-shim-0297aa3cf34ca3a95a6e95db7aff82020aefa0e5.tar.gz
efi-boot-shim-0297aa3cf34ca3a95a6e95db7aff82020aefa0e5.zip
Update openssl to 1.0.2g
Signed-off-by: Gary Lin <glin@suse.com>
Diffstat (limited to 'Cryptlib/OpenSSL/crypto/dh/dh_pmeth.c')
-rw-r--r--Cryptlib/OpenSSL/crypto/dh/dh_pmeth.c16
1 files changed, 10 insertions, 6 deletions
diff --git a/Cryptlib/OpenSSL/crypto/dh/dh_pmeth.c b/Cryptlib/OpenSSL/crypto/dh/dh_pmeth.c
index e5f345aa..c6288f69 100644
--- a/Cryptlib/OpenSSL/crypto/dh/dh_pmeth.c
+++ b/Cryptlib/OpenSSL/crypto/dh/dh_pmeth.c
@@ -207,7 +207,11 @@ static int pkey_dh_ctrl(EVP_PKEY_CTX *ctx, int type, int p1, void *p2)
case EVP_PKEY_CTRL_DH_KDF_TYPE:
if (p1 == -2)
return dctx->kdf_type;
+#ifdef OPENSSL_NO_CMS
+ if (p1 != EVP_PKEY_DH_KDF_NONE)
+#else
if (p1 != EVP_PKEY_DH_KDF_NONE && p1 != EVP_PKEY_DH_KDF_X9_42)
+#endif
return -2;
dctx->kdf_type = p1;
return 1;
@@ -448,10 +452,10 @@ static int pkey_dh_derive(EVP_PKEY_CTX *ctx, unsigned char *key,
return ret;
*keylen = ret;
return 1;
- } else if (dctx->kdf_type == EVP_PKEY_DH_KDF_X9_42) {
-#ifdef OPENSSL_NO_CMS
- return 0;
-#else
+ }
+#ifndef OPENSSL_NO_CMS
+ else if (dctx->kdf_type == EVP_PKEY_DH_KDF_X9_42) {
+
unsigned char *Z = NULL;
size_t Zlen = 0;
if (!dctx->kdf_outlen || !dctx->kdf_oid)
@@ -481,9 +485,9 @@ static int pkey_dh_derive(EVP_PKEY_CTX *ctx, unsigned char *key,
OPENSSL_free(Z);
}
return ret;
-#endif
}
- return 1;
+#endif
+ return 0;
}
const EVP_PKEY_METHOD dh_pkey_meth = {