The branch OpenSSL_1_1_1-stable has been updated via 96ac8f13f4d0ee96baf5724d9f96c44c34b8606c (commit) from 15d1ddde5de9d28b671d3f6fe8757f4b87e67821 (commit)
- Log ----------------------------------------------------------------- commit 96ac8f13f4d0ee96baf5724d9f96c44c34b8606c Author: David Carlier <devne...@gmail.com> Date: Tue Aug 24 22:40:14 2021 +0100 Darwin platform allows to build on releases before Yosemite/ios 8. issue #16407 #16408 Reviewed-by: Paul Dale <pa...@openssl.org> Reviewed-by: Tomas Mraz <to...@openssl.org> (Merged from https://github.com/openssl/openssl/pull/16409) ----------------------------------------------------------------------- Summary of changes: crypto/rand/rand_unix.c | 5 +---- include/crypto/rand.h | 10 ++++++++++ 2 files changed, 11 insertions(+), 4 deletions(-) diff --git a/crypto/rand/rand_unix.c b/crypto/rand/rand_unix.c index 43f1069d15..0f4525106a 100644 --- a/crypto/rand/rand_unix.c +++ b/crypto/rand/rand_unix.c @@ -34,9 +34,6 @@ #if defined(__OpenBSD__) # include <sys/param.h> #endif -#if defined(__APPLE__) -# include <CommonCrypto/CommonRandom.h> -#endif #if defined(OPENSSL_SYS_UNIX) || defined(__DJGPP__) # include <sys/types.h> @@ -381,7 +378,7 @@ static ssize_t syscall_random(void *buf, size_t buflen) if (errno != ENOSYS) return -1; } -# elif defined(__APPLE__) +# elif defined(OPENSSL_APPLE_CRYPTO_RANDOM) if (CCRandomGenerateBytes(buf, buflen) == kCCSuccess) return (ssize_t)buflen; diff --git a/include/crypto/rand.h b/include/crypto/rand.h index 5350d3a931..674f840fd1 100644 --- a/include/crypto/rand.h +++ b/include/crypto/rand.h @@ -20,6 +20,16 @@ # include <openssl/rand.h> +# if defined(__APPLE__) && !defined(OPENSSL_NO_APPLE_CRYPTO_RANDOM) +# include <Availability.h> +# if (defined(__MAC_OS_X_VERSION_MIN_REQUIRED) && __MAC_OS_X_VERSION_MIN_REQUIRED >= 101000) || \ + (defined(__IPHONE_OS_VERSION_MIN_REQUIRED) && __IPHONE_OS_VERSION_MIN_REQUIRED >= 80000) +# define OPENSSL_APPLE_CRYPTO_RANDOM 1 +# include <CommonCrypto/CommonCryptoError.h> +# include <CommonCrypto/CommonRandom.h> +# endif +# endif + /* forward declaration */ typedef struct rand_pool_st RAND_POOL;