From: Paul Eggert Date: Mon, 1 Jun 2020 22:58:29 +0000 (-0700) Subject: tempname: use getrandom, not getentropy X-Git-Tag: v1.0~3985 X-Git-Url: https://gitweb.git.savannah.gnu.org/gitweb/?a=commitdiff_plain;h=5a5636ae89d81dc305b2abc15c2185a4e8f1cf2f;p=gnulib.git tempname: use getrandom, not getentropy This removes a dependency, as getentropy depends on getrandom. * lib/tempname.c: Include sys/random.h instead of unistd.h. (RANDOM_BITS) [!_LIBC]: Use getrandom, not getentropy. * modules/tempname (Depends-on): Depend on getrandom, not getentropy. --- diff --git a/ChangeLog b/ChangeLog index 381ca88146..5a07e5ae71 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,11 @@ +2020-06-01 Paul Eggert + + tempname: use getrandom, not getentropy + This removes a dependency, as getentropy depends on getrandom. + * lib/tempname.c: Include sys/random.h instead of unistd.h. + (RANDOM_BITS) [!_LIBC]: Use getrandom, not getentropy. + * modules/tempname (Depends-on): Depend on getrandom, not getentropy. + 2020-06-01 Bruno Haible doc: New chapter 'Multithreading'. diff --git a/lib/tempname.c b/lib/tempname.c index ca7e8b1e78..9219ee66af 100644 --- a/lib/tempname.c +++ b/lib/tempname.c @@ -48,8 +48,7 @@ #include #include -#include - +#include #include #if _LIBC @@ -71,11 +70,11 @@ typedef uint32_t random_value; # define BASE_62_DIGITS 5 /* 62**5 < UINT32_MAX */ # define BASE_62_POWER (62 * 62 * 62 * 62 * 62) /* 2**BASE_62_DIGITS */ #else -/* Use getentropy if it works, falling back on a 64-bit linear +/* Use getrandom if it works, falling back on a 64-bit linear congruential generator that starts with whatever Var's value happens to be. */ # define RANDOM_BITS(Var) \ - ((void) (getentropy (&(Var), sizeof (Var)) == 0 \ + ((void) (getrandom (&(Var), sizeof (Var), 0) == sizeof (Var) \ || ((Var) = 2862933555777941757 * (Var) + 3037000493))) typedef uint_fast64_t random_value; # define RANDOM_VALUE_MAX UINT_FAST64_MAX diff --git a/modules/tempname b/modules/tempname index 6d6a034ebc..0f692d3d7c 100644 --- a/modules/tempname +++ b/modules/tempname @@ -10,7 +10,7 @@ m4/tempname.m4 Depends-on: extensions fcntl-h -getentropy +getrandom libc-config lstat mkdir