summaryrefslogtreecommitdiff
path: root/libs/libcurl/src/rand.c
diff options
context:
space:
mode:
Diffstat (limited to 'libs/libcurl/src/rand.c')
-rw-r--r--libs/libcurl/src/rand.c9
1 files changed, 9 insertions, 0 deletions
diff --git a/libs/libcurl/src/rand.c b/libs/libcurl/src/rand.c
index 2fe5db7b36..126fae9e29 100644
--- a/libs/libcurl/src/rand.c
+++ b/libs/libcurl/src/rand.c
@@ -30,6 +30,10 @@
#ifdef HAVE_ARPA_INET_H
#include <arpa/inet.h>
#endif
+#ifdef HAVE_ARC4RANDOM
+/* Some platforms might have the prototype missing (ubuntu + libressl) */
+uint32_t arc4random(void);
+#endif
#include <curl/curl.h>
#include "vtls/vtls.h"
@@ -143,6 +147,11 @@ static CURLcode randit(struct Curl_easy *data, unsigned int *rnd)
}
#endif
+#ifdef HAVE_ARC4RANDOM
+ *rnd = (unsigned int)arc4random();
+ return CURLE_OK;
+#endif
+
#if defined(RANDOM_FILE) && !defined(WIN32)
if(!seeded) {
/* if there's a random file to read a seed from, use it */