You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
82 lines
2.5 KiB
82 lines
2.5 KiB
From a3447989483e09638e6ebeab7eabe6273aa5f3db Mon Sep 17 00:00:00 2001
|
|
From: Alon Bar-Lev <alon.barlev@gmail.com>
|
|
Date: Fri, 4 Jan 2019 10:33:15 +0200
|
|
Subject: [PATCH] build: fixup libressl support and add libressl-2.7
|
|
|
|
Signed-off-by: Alon Bar-Lev <alon.barlev@gmail.com>
|
|
Backport: 5d4cc4ee
|
|
---
|
|
lib/conversion.c | 6 +++++-
|
|
lib/tpm_kdfa.c | 10 +++++++---
|
|
2 files changed, 12 insertions(+), 4 deletions(-)
|
|
|
|
diff --git a/lib/conversion.c b/lib/conversion.c
|
|
index ce0f5b3..f55af6f 100644
|
|
--- a/lib/conversion.c
|
|
+++ b/lib/conversion.c
|
|
@@ -45,6 +45,10 @@
|
|
#include "tpm2_alg_util.h"
|
|
#include "tpm2_util.h"
|
|
|
|
+#if (OPENSSL_VERSION_NUMBER < 0x1010000fL && !defined(LIBRESSL_VERSION_NUMBER)) || (defined(LIBRESSL_VERSION_NUMBER) && LIBRESSL_VERSION_NUMBER < 0x20700000L) /* OpenSSL 1.1.0 */
|
|
+#define LIB_TPM2_OPENSSL_OPENSSL_PRE11
|
|
+#endif
|
|
+
|
|
static bool tpm2_convert_pubkey_ssl(TPMT_PUBLIC *public, pubkey_format format, const char *path);
|
|
|
|
pubkey_format tpm2_parse_pubkey_format(const char *label) {
|
|
@@ -134,7 +138,7 @@ static bool tpm2_convert_pubkey_ssl(TPMT_PUBLIC *public, pubkey_format format, c
|
|
goto error;
|
|
}
|
|
|
|
-#if OPENSSL_VERSION_NUMBER < 0x1010000fL /* OpenSSL 1.1.0 */
|
|
+#if defined(LIB_TPM2_OPENSSL_OPENSSL_PRE11)
|
|
ssl_rsa_key->e = e;
|
|
ssl_rsa_key->n = n;
|
|
#else
|
|
diff --git a/lib/tpm_kdfa.c b/lib/tpm_kdfa.c
|
|
index 3d1ed50..fc03af8 100644
|
|
--- a/lib/tpm_kdfa.c
|
|
+++ b/lib/tpm_kdfa.c
|
|
@@ -34,6 +34,10 @@
|
|
#include "log.h"
|
|
#include "tpm2_util.h"
|
|
|
|
+#if (OPENSSL_VERSION_NUMBER < 0x1010000fL && !defined(LIBRESSL_VERSION_NUMBER)) || (defined(LIBRESSL_VERSION_NUMBER) && LIBRESSL_VERSION_NUMBER < 0x20700000L) /* OpenSSL 1.1.0 */
|
|
+#define LIB_TPM2_OPENSSL_OPENSSL_PRE11
|
|
+#endif
|
|
+
|
|
static const EVP_MD *tpm_algorithm_to_openssl_digest(TPMI_ALG_HASH algorithm) {
|
|
|
|
switch(algorithm) {
|
|
@@ -54,7 +58,7 @@ static const EVP_MD *tpm_algorithm_to_openssl_digest(TPMI_ALG_HASH algorithm) {
|
|
static HMAC_CTX *hmac_alloc()
|
|
{
|
|
HMAC_CTX *ctx;
|
|
-#if OPENSSL_VERSION_NUMBER < 0x1010000fL /* OpenSSL 1.1.0 */
|
|
+#if defined(LIB_TPM2_OPENSSL_OPENSSL_PRE11)
|
|
ctx = malloc(sizeof(*ctx));
|
|
#else
|
|
ctx = HMAC_CTX_new();
|
|
@@ -62,7 +66,7 @@ static HMAC_CTX *hmac_alloc()
|
|
if (!ctx)
|
|
return NULL;
|
|
|
|
-#if OPENSSL_VERSION_NUMBER < 0x1010000fL
|
|
+#if defined(LIB_TPM2_OPENSSL_OPENSSL_PRE11)
|
|
HMAC_CTX_init(ctx);
|
|
#endif
|
|
|
|
@@ -71,7 +75,7 @@ static HMAC_CTX *hmac_alloc()
|
|
|
|
static void hmac_del(HMAC_CTX *ctx)
|
|
{
|
|
-#if OPENSSL_VERSION_NUMBER < 0x1010000fL
|
|
+#if defined(LIB_TPM2_OPENSSL_OPENSSL_PRE11)
|
|
HMAC_CTX_cleanup(ctx);
|
|
free(ctx);
|
|
#else
|
|
--
|
|
2.19.2
|
|
|