Only use OpenSSL kdf support if it is present.

We have to check for ERR_load_KDF_strings() here, since that's the
only one that's actually a function rather than a macro.

Fixes compilation with LibreSSL.  Fixes bug 26712; bug not in
any released Tor.
This commit is contained in:
Nick Mathewson 2018-07-11 10:10:42 -04:00
parent 537092cdbb
commit 2b52360448
2 changed files with 3 additions and 2 deletions

View File

@ -902,6 +902,7 @@ AC_CHECK_MEMBERS([struct ssl_method_st.get_cipher_by_char], , ,
])
AC_CHECK_FUNCS([ \
ERR_load_KDF_strings \
SSL_SESSION_get_master_key \
SSL_get_server_random \
SSL_get_client_ciphers \

View File

@ -19,9 +19,9 @@
#include <openssl/opensslv.h>
#if OPENSSL_VERSION_NUMBER >= OPENSSL_V_SERIES(1,1,0)
#define HAVE_OPENSSL_HKDF 1
#if defined(HAVE_ERR_LOAD_KDF_STRINGS)
#include <openssl/kdf.h>
#define HAVE_OPENSSL_HKDF 1
#endif
#include <string.h>