Thomas Devoogdt wrote in
<cacxrmjiqjvjatmhez4itdbhhthv8kxhhnrgfb7_wkkdfwso...@mail.gmail.com>:
|About:
|>> HAVE_GETRANDOM := $(shell printf '#include <stddef.h>\n#include \
|>> <sys/random.h>\nint main(void){char buf[256];\ngetrandom(buf,sizeof(buf)\
|>> ,GRND_NONBLOCK);}' >bb_libtest.c; $(CC) $(CFLAGS) $(CFLAGS_busybox) \
|>> -D_GNU_SOURCE -o /dev/null
|
|Is it a good idea to have GRND_NONBLOCK in that check? What if it's
|not defined, but getrandom() is, then HAVE_GETRANDOM might incorrectly
|be false?
|We do anyway define it in seedrng.c if needed.
Heck, this entire thing is grazy from the start.
The kernel random code mutilates input coming via the /dev/*random
devices, instead of treating that as just the same regular input
as through ioctl or whatever (i am too lazy to look again).
They should all simply reject going that route along the random
maintainer, and insist on using
# Load random seed
/bin/cat /var/lib/urandom/seed > /dev/urandom
like my Linux distribution does (even though *i* repeatedly
prodded using my entropy thing, then that Friday the 13th thing
for years, before i had to go, mind you).
Moreover, even GLibC 2.36 / current manual pages still does not
document the other flag that the busybox applet uses.
Even on super-async modern boot, some things have to be
synchronized, why not random. (If i recall correctly, people
knowing about systemd even said that is done, last time i said
that, hm.)
Just my off-topic one cent. seedrng.c is an intellectually
penetrated piece of software.
Having said that, the current implementation as it is here is
surely wrong, since the fallback getrandom returns ENOSYS, instead
of setting errno to ENOSYS?
200a9669fbf6f06894e4243cccc9fc11a1a6073a as of -04-10.
--steffen
|
|Der Kragenbaer, The moon bear,
|der holt sich munter he cheerfully and one by one
|einen nach dem anderen runter wa.ks himself off
|(By Robert Gernhardt)
_______________________________________________
busybox mailing list
[email protected]
http://lists.busybox.net/mailman/listinfo/busybox