1
0
mirror of https://git.libssh.org/projects/libssh.git synced 2025-08-10 06:23:01 +03:00

cmake: Use configure check for CRYPTO_ctr128_encrypt

Cherry-picked from 3daf1760a1

Signed-off-by: Andreas Schneider <asn@cryptomilk.org>
This commit is contained in:
Andreas Schneider
2016-11-06 15:43:31 +01:00
parent 2f1c6668e7
commit 1642cec280
3 changed files with 9 additions and 2 deletions

View File

@@ -91,6 +91,10 @@ if (OPENSSL_FOUND)
set(CMAKE_REQUIRED_INCLUDES ${OPENSSL_INCLUDE_DIR}) set(CMAKE_REQUIRED_INCLUDES ${OPENSSL_INCLUDE_DIR})
check_include_file(openssl/ecdsa.h HAVE_OPENSSL_ECDSA_H) check_include_file(openssl/ecdsa.h HAVE_OPENSSL_ECDSA_H)
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() endif()
if (CMAKE_HAVE_PTHREAD_H) if (CMAKE_HAVE_PTHREAD_H)

View File

@@ -76,6 +76,9 @@
/*************************** FUNCTIONS ***************************/ /*************************** FUNCTIONS ***************************/
/* 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. */ /* Define to 1 if you have the `snprintf' function. */
#cmakedefine HAVE_SNPRINTF 1 #cmakedefine HAVE_SNPRINTF 1

View File

@@ -458,12 +458,12 @@ static void aes_ctr128_encrypt(struct ssh_cipher_struct *cipher, void *in, void
* Same for num, which is being used to store the current offset in blocksize in CTR * Same for num, which is being used to store the current offset in blocksize in CTR
* function. * function.
*/ */
# if OPENSSL_VERSION_NUMBER >= 0x10100000L #ifdef HAVE_OPENSSL_CRYPTO_CTR128_ENCRYPT
CRYPTO_ctr128_encrypt(in, out, len, cipher->key, cipher->IV, tmp_buffer, CRYPTO_ctr128_encrypt(in, out, len, cipher->key, cipher->IV, tmp_buffer,
&num, (block128_f)AES_encrypt); &num, (block128_f)AES_encrypt);
# else # else
AES_ctr128_encrypt(in, out, len, cipher->key, cipher->IV, tmp_buffer, &num); AES_ctr128_encrypt(in, out, len, cipher->key, cipher->IV, tmp_buffer, &num);
# endif /* OPENSSL_VERSION_NUMBER >= 0x10100000L */ #endif /* HAVE_OPENSSL_CRYPTO_CTR128_ENCRYPT */
} }
#endif /* BROKEN_AES_CTR */ #endif /* BROKEN_AES_CTR */
#endif /* HAS_AES */ #endif /* HAS_AES */