From 2b8c2657e4577b6f9c26622482db2354b22b2216 Mon Sep 17 00:00:00 2001 From: David Carlier Date: Mon, 28 Dec 2020 15:51:14 +0000 Subject: [PATCH] Implements getrandom's wrapper for handful of BSD. Signed-off-by: David Carlier --- library/entropy_poll.c | 15 +++++++++++++++ 1 file changed, 15 insertions(+) diff --git a/library/entropy_poll.c b/library/entropy_poll.c index 5250a7bfe..84b70fe6f 100644 --- a/library/entropy_poll.c +++ b/library/entropy_poll.c @@ -109,6 +109,21 @@ static int getrandom_wrapper( void *buf, size_t buflen, unsigned int flags ) #endif /* SYS_getrandom */ #endif /* __linux__ || __midipix__ */ +#if defined(__FreeBSD__) || defined(__DragonFly__) +#include +#if (defined(__FreeBSD__) && __FreeBSD_version >= 1200000) || \ + (defined(__DragonFly__) && __DragonFly_version >= 500700) +#include +#include +#define HAVE_GETRANDOM +static int getrandom_wrapper( void *buf, size_t buflen, unsigned int flags ) +{ + return getrandom( buf, buflen, flags ); +} +#endif /* (__FreeBSD__ && __FreeBSD_version >= 1200000) || + (__DragonFly__ && __DragonFly_version >= 500700) */ +#endif /* __FreeBSD__ || __DragonFly__ */ + /* * Some BSD systems provide KERN_ARND. * This is equivalent to reading from /dev/urandom, only it doesn't require an