Skip to content

Commit

Permalink
bpo 45007: Update macOS installer builds to use OpenSSL 1.1.1l. (GH-2…
Browse files Browse the repository at this point in the history
  • Loading branch information
ned-deily authored Aug 30, 2021
1 parent 71853a7 commit 94b2639
Show file tree
Hide file tree
Showing 3 changed files with 64 additions and 3 deletions.
Original file line number Diff line number Diff line change
@@ -0,0 +1,59 @@
From cef404f1e7a598166cbc2fd2e0048f7e2d752ad5 Mon Sep 17 00:00:00 2001
From: David Carlier <devnexen@gmail.com>
Date: Tue, 24 Aug 2021 22:40:14 +0100
Subject: [PATCH] Darwin platform allows to build on releases before
Yosemite/ios 8.

issue #16407 #16408
---
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;

--
2.33.0

7 changes: 4 additions & 3 deletions Mac/BuildScript/build-installer.py
Original file line number Diff line number Diff line change
Expand Up @@ -246,9 +246,10 @@ def library_recipes():

result.extend([
dict(
name="OpenSSL 1.1.1k",
url="https://www.openssl.org/source/openssl-1.1.1k.tar.gz",
checksum='c4e7d95f782b08116afa27b30393dd27',
name="OpenSSL 1.1.1l",
url="https://www.openssl.org/source/openssl-1.1.1l.tar.gz",
checksum='ac0d4387f3ba0ad741b0580dd45f6ff3',
patches=['0001-Darwin-platform-allows-to-build-on-releases-before-Y.patch'],
buildrecipe=build_universal_openssl,
configure=None,
install=None,
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
Update macOS installer builds to use OpenSSL 1.1.1l.

0 comments on commit 94b2639

Please sign in to comment.