Browse Source

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.
Nick Mathewson 5 years ago
parent
commit
2b52360448
2 changed files with 3 additions and 2 deletions
  1. 1 0
      configure.ac
  2. 2 2
      src/lib/crypt_ops/crypto_hkdf.c

+ 1 - 0
configure.ac

@@ -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 \

+ 2 - 2
src/lib/crypt_ops/crypto_hkdf.c

@@ -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>