| From 7f8d9359dcf9edbb13bb447f70234397afa4fb05 Mon Sep 17 00:00:00 2001 |
| From: Carlos Santos <casantos@datacom.ind.br> |
| Date: Tue, 30 Jan 2018 11:21:14 -0200 |
| Subject: [PATCH] Fix build with LibreSSL |
| |
| OPENSSL_VERSION_NUMBER is used to test the version of OpenSSL but this |
| test alone breaks the build with LibreSSL due to implicit declarations |
| of functions 'RSA_set0_key' and 'HMAC_CTX_free'. |
| |
| Test if OpenSSL < 1.1.0 or LIBRESSL_VERSION_NUMBER is defined, instead. |
| |
| Signed-off-by: Carlos Santos <casantos@datacom.ind.br> |
| --- |
| lib/conversion.c | 2 +- |
| lib/tpm_kdfa.c | 6 +++--- |
| 2 files changed, 4 insertions(+), 4 deletions(-) |
| |
| diff --git a/lib/conversion.c b/lib/conversion.c |
| index 1d0a0b7..df02de4 100644 |
| --- a/lib/conversion.c |
| +++ b/lib/conversion.c |
| @@ -133,7 +133,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 OPENSSL_VERSION_NUMBER < 0x1010000fL || defined(LIBRESSL_VERSION_NUMBER) /* OpenSSL 1.1.0 */ |
| ssl_rsa_key->e = e; |
| ssl_rsa_key->n = n; |
| #else |
| diff --git a/lib/tpm_kdfa.c b/lib/tpm_kdfa.c |
| index ee3cf8a..e43bdeb 100644 |
| --- a/lib/tpm_kdfa.c |
| +++ b/lib/tpm_kdfa.c |
| @@ -54,7 +54,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 OPENSSL_VERSION_NUMBER < 0x1010000fL || defined(LIBRESSL_VERSION_NUMBER) /* OpenSSL 1.1.0 */ |
| ctx = malloc(sizeof(*ctx)); |
| #else |
| ctx = HMAC_CTX_new(); |
| @@ -62,7 +62,7 @@ static HMAC_CTX *hmac_alloc() |
| if (!ctx) |
| return NULL; |
| |
| -#if OPENSSL_VERSION_NUMBER < 0x1010000fL |
| +#if OPENSSL_VERSION_NUMBER < 0x1010000fL || defined(LIBRESSL_VERSION_NUMBER) |
| HMAC_CTX_init(ctx); |
| #endif |
| |
| @@ -71,7 +71,7 @@ static HMAC_CTX *hmac_alloc() |
| |
| static void hmac_del(HMAC_CTX *ctx) |
| { |
| -#if OPENSSL_VERSION_NUMBER < 0x1010000fL |
| +#if OPENSSL_VERSION_NUMBER < 0x1010000fL || defined(LIBRESSL_VERSION_NUMBER) |
| HMAC_CTX_cleanup(ctx); |
| free(ctx); |
| #else |
| -- |
| 2.14.3 |
| |