diff options
author | Andreas Schneider <asn@cryptomilk.org> | 2016-11-06 15:43:31 +0100 |
---|---|---|
committer | Andreas Schneider <asn@cryptomilk.org> | 2016-11-07 11:46:47 +0100 |
commit | 3daf1760a18c091159338fc9077fa71bfbd726a1 (patch) | |
tree | 8c7efa191808a9b92e8aef53dee0321c57ba5dee | |
parent | 2dff359a331c5c9aab2435c470596b0fee7a502a (diff) | |
download | libssh-3daf1760a18c091159338fc9077fa71bfbd726a1.tar.gz libssh-3daf1760a18c091159338fc9077fa71bfbd726a1.tar.xz libssh-3daf1760a18c091159338fc9077fa71bfbd726a1.zip |
cmake: Use configure check for CRYPTO_ctr128_encrypt
Signed-off-by: Andreas Schneider <asn@cryptomilk.org>
-rw-r--r-- | ConfigureChecks.cmake | 4 | ||||
-rw-r--r-- | config.h.cmake | 3 | ||||
-rw-r--r-- | src/libcrypto.c | 6 |
3 files changed, 10 insertions, 3 deletions
diff --git a/ConfigureChecks.cmake b/ConfigureChecks.cmake index 04d9a1c0..4833a252 100644 --- a/ConfigureChecks.cmake +++ b/ConfigureChecks.cmake @@ -110,6 +110,10 @@ if (OPENSSL_FOUND) set(CMAKE_REQUIRED_INCLUDES ${OPENSSL_INCLUDE_DIR}) set(CMAKE_REQUIRED_LIBRARIES ${OPENSSL_CRYPTO_LIBRARY}) check_function_exists(CRYPTO_THREADID_set_callback HAVE_OPENSSL_CRYPTO_THREADID_SET_CALLBACK) + + set(CMAKE_REQUIRED_INCLUDES ${OPENSSL_INCLUDE_DIR}) + set(CMAKE_REQUIRED_LIBRARIES ${OPENSSL_CRYPTO_LIBRARY}) + check_function_exists(CRYPTO_ctr128_encrypt HAVE_OPENSSL_CRYPTO_CTR128_ENCRYPT) endif() if (CMAKE_HAVE_PTHREAD_H) diff --git a/config.h.cmake b/config.h.cmake index 726d85ba..96090e7d 100644 --- a/config.h.cmake +++ b/config.h.cmake @@ -91,6 +91,9 @@ /* Define to 1 if you have the `CRYPTO_THREADID_set_callback' function. */ #cmakedefine HAVE_OPENSSL_CRYPTO_THREADID_SET_CALLBACK 1 +/* Define to 1 if you have the `CRYPTO_ctr128_encrypt' function. */ +#cmakedefine HAVE_OPENSSL_CRYPTO_CTR128_ENCRYPT 1 + /* Define to 1 if you have the `snprintf' function. */ #cmakedefine HAVE_SNPRINTF 1 diff --git a/src/libcrypto.c b/src/libcrypto.c index 10956b6f..867bf227 100644 --- a/src/libcrypto.c +++ b/src/libcrypto.c @@ -594,11 +594,11 @@ static void aes_ctr_encrypt(struct ssh_cipher_struct *cipher, void *in, void *ou * Same for num, which is being used to store the current offset in blocksize in CTR * function. */ -# if OPENSSL_VERSION_NUMBER >= 0x10100000L +#ifdef HAVE_OPENSSL_CRYPTO_CTR128_ENCRYPT CRYPTO_ctr128_encrypt(in, out, len, &cipher->aes_key->key, cipher->aes_key->IV, tmp_buffer, &num, (block128_f)AES_encrypt); -# else +#else AES_ctr128_encrypt(in, out, len, &cipher->aes_key->key, cipher->aes_key->IV, tmp_buffer, &num); -# endif /* OPENSSL_VERSION_NUMBER >= 0x10100000L */ +#endif /* HAVE_OPENSSL_CRYPTO_CTR128_ENCRYPT */ } static void aes_ctr_cleanup(struct ssh_cipher_struct *cipher){ |