diff options
| author | Mike Pall <mike> | 2021-03-10 20:19:04 +0100 |
|---|---|---|
| committer | Mike Pall <mike> | 2021-03-10 20:19:04 +0100 |
| commit | 787736990ac3b7d5ceaba2697c7d0f58f77bb782 (patch) | |
| tree | 867549aed1a3064178a592b3c09be9dfe8f193ff | |
| parent | 67dbec82f4f05a416a78a560a726553beaa7a223 (diff) | |
| download | luajit-787736990ac3b7d5ceaba2697c7d0f58f77bb782.tar.gz luajit-787736990ac3b7d5ceaba2697c7d0f58f77bb782.tar.bz2 luajit-787736990ac3b7d5ceaba2697c7d0f58f77bb782.zip | |
iOS: Don't use getentropy() since it's disallowed in the App Store.
Reported by MoNTE48.
| -rw-r--r-- | src/lj_prng.c | 12 |
1 files changed, 9 insertions, 3 deletions
diff --git a/src/lj_prng.c b/src/lj_prng.c index f09aaffa..0c4a5cf0 100644 --- a/src/lj_prng.c +++ b/src/lj_prng.c | |||
| @@ -109,10 +109,16 @@ static PRGR libfunc_rgr; | |||
| 109 | #include <sys/syscall.h> | 109 | #include <sys/syscall.h> |
| 110 | #else | 110 | #else |
| 111 | 111 | ||
| 112 | #if LJ_TARGET_OSX | 112 | #if LJ_TARGET_OSX && !LJ_TARGET_IOS |
| 113 | /* | ||
| 114 | ** In their infinite wisdom Apple decided to disallow getentropy() in the | ||
| 115 | ** iOS App Store. Even though the call is common to all BSD-ish OS, it's | ||
| 116 | ** recommended by Apple in their own security-related docs, and, to top | ||
| 117 | ** off the foolery, /dev/urandom is handled by the same kernel code, | ||
| 118 | ** yet accessing it is actually permitted (but less efficient). | ||
| 119 | */ | ||
| 113 | #include <Availability.h> | 120 | #include <Availability.h> |
| 114 | #if __MAC_OS_X_VERSION_MIN_REQUIRED >= 101200 || \ | 121 | #if __MAC_OS_X_VERSION_MIN_REQUIRED >= 101200 |
| 115 | __IPHONE_OS_VERSION_MIN_REQUIRED >= 100000 | ||
| 116 | #define LJ_TARGET_HAS_GETENTROPY 1 | 122 | #define LJ_TARGET_HAS_GETENTROPY 1 |
| 117 | #endif | 123 | #endif |
| 118 | #elif LJ_TARGET_BSD || LJ_TARGET_SOLARIS || LJ_TARGET_CYGWIN | 124 | #elif LJ_TARGET_BSD || LJ_TARGET_SOLARIS || LJ_TARGET_CYGWIN |
