diff options
-rw-r--r-- | include/crypto/rand.h | 10 | ||||
-rw-r--r-- | providers/implementations/rands/seeding/rand_unix.c | 6 |
2 files changed, 11 insertions, 5 deletions
diff --git a/include/crypto/rand.h b/include/crypto/rand.h index d9432b241d..ac41a9f62b 100644 --- a/include/crypto/rand.h +++ b/include/crypto/rand.h @@ -22,6 +22,16 @@ # include <openssl/rand.h> # include "crypto/rand_pool.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 + /* * Defines related to seed sources */ diff --git a/providers/implementations/rands/seeding/rand_unix.c b/providers/implementations/rands/seeding/rand_unix.c index 5048383077..750afca58e 100644 --- a/providers/implementations/rands/seeding/rand_unix.c +++ b/providers/implementations/rands/seeding/rand_unix.c @@ -40,10 +40,6 @@ # include <sys/param.h> # include <sys/random.h> #endif -#if defined(__APPLE__) -# include <CommonCrypto/CommonCryptoError.h> -# include <CommonCrypto/CommonRandom.h> -#endif #if (defined(OPENSSL_SYS_UNIX) && !defined(OPENSSL_SYS_VXWORKS)) \ || defined(__DJGPP__) @@ -370,7 +366,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; |