From 7c5a710c5543debff0c70cb4839e15e9a1da322b Mon Sep 17 00:00:00 2001 From: Sergey Kandaurov Date: Mon, 16 Jul 2018 13:30:11 +0300 Subject: Added getentropy() support. Prodded by David Carlier. --- src/nxt_random.c | 8 ++++++++ src/nxt_unix.h | 2 ++ 2 files changed, 10 insertions(+) (limited to 'src') diff --git a/src/nxt_random.c b/src/nxt_random.c index b6c9f704..aaa39887 100644 --- a/src/nxt_random.c +++ b/src/nxt_random.c @@ -68,6 +68,14 @@ nxt_random_stir(nxt_random_t *r) n = syscall(SYS_getrandom, &key, NXT_RANDOM_KEY_SIZE, 0); +#elif (NXT_HAVE_GETENTROPY || NXT_HAVE_GETENTROPY_SYS_RANDOM) + + n = 0; + + if (getentropy(&key, NXT_RANDOM_KEY_SIZE) == 0) { + n = NXT_RANDOM_KEY_SIZE; + } + #else n = 0; diff --git a/src/nxt_unix.h b/src/nxt_unix.h index 33e9f247..151dd555 100644 --- a/src/nxt_unix.h +++ b/src/nxt_unix.h @@ -234,6 +234,8 @@ #include /* getrandom(). */ #elif (NXT_HAVE_LINUX_SYS_GETRANDOM) #include /* SYS_getrandom. */ +#elif (NXT_HAVE_GETENTROPY_SYS_RANDOM) +#include /* getentropy(). */ #endif -- cgit