From a3447989483e09638e6ebeab7eabe6273aa5f3db Mon Sep 17 00:00:00 2001 From: Alon Bar-Lev 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 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