Merge pull request #3976 from devnexen/fbsd_dfly_upd
Implements getrandom's wrapper for handful of BSD.
This commit is contained in:
commit
495ef98b24
2 changed files with 18 additions and 0 deletions
3
ChangeLog.d/getentropy.txt
Normal file
3
ChangeLog.d/getentropy.txt
Normal file
|
@ -0,0 +1,3 @@
|
|||
Changes
|
||||
* On recent enough versions of FreeBSD and DragonFlyBSD, the entropy module
|
||||
now uses the getrandom syscall instead of reading from /dev/urandom.
|
|
@ -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 <sys/param.h>
|
||||
#if (defined(__FreeBSD__) && __FreeBSD_version >= 1200000) || \
|
||||
(defined(__DragonFly__) && __DragonFly_version >= 500700)
|
||||
#include <errno.h>
|
||||
#include <sys/random.h>
|
||||
#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
|
||||
|
|
Loading…
Reference in a new issue