mirror of
https://https.git.savannah.gnu.org/git/gnulib.git
synced 2026-04-28 06:33:36 +00:00
* doc/gnulib.texi (POSIXURL): Use https url. * doc/multithread.texi: Use https instead of http where possible. * doc/glibc-functions/*.texi: Likewise. * doc/posix-functions/*.texi: Likewise. * lib/glthread/lock.c: Likewise. * lib/hamt.h: Likewise. * lib/localcharset.c: Likewise. * lib/pipe2.c: Likewise. * lib/pipe.c: Likewise. * lib/sigsegv.c: Likewise. * lib/sigsegv.in.h: Likewise. * lib/sm3.c: Likewise. * lib/sm3.h: Likewise. * lib/sm3-stream.c: Likewise. * lib/stackvma.c: Likewise. * lib/stdio-impl.h: Likewise. * lib/stdnoreturn.in.h: Likewise. * m4/getopt.m4: Likewise. * m4/largefile.m4: Likewise. * m4/stdalign.m4: Likewise. * STATUS-libposix: Likewise. * tests/test-float.c: Likewise. * tests/test-getopt.h: Likewise. * tests/test-setenv.c: Likewise. * tests/test-spawn-pipe-child.c: Likewise. * tests/test-strerror.c: Likewise. * tests/test-strerror_r.c: Likewise. * tests/test-unsetenv.c: Likewise. * users.txt: Likewise.
59 lines
1.9 KiB
Plaintext
59 lines
1.9 KiB
Plaintext
@node getrandom
|
|
@subsection @code{getrandom}
|
|
@findex getrandom
|
|
|
|
Documentation:
|
|
@itemize
|
|
@item
|
|
@ifinfo
|
|
@ref{Unpredictable Bytes,,Generating Unpredictable Bytes,libc},
|
|
@end ifinfo
|
|
@ifnotinfo
|
|
@url{https://www.gnu.org/software/libc/manual/html_node/Unpredictable-Bytes.html},
|
|
@end ifnotinfo
|
|
@item
|
|
@uref{https://www.kernel.org/doc/man-pages/online/pages/man2/getrandom.2.html,,man getrandom}.
|
|
@end itemize
|
|
|
|
Gnulib module: getrandom
|
|
@mindex getrandom
|
|
|
|
Portability problems fixed by Gnulib:
|
|
@itemize
|
|
@item
|
|
This function is missing on some platforms:
|
|
glibc 2.24, macOS 14, FreeBSD 11.0, NetBSD 9.3, OpenBSD 7.5, Minix 3.3, AIX 7.1, HP-UX 11.31, Solaris 11.0, Cygwin 1.7.x, mingw, MSVC 14, Android 8.1.
|
|
@item
|
|
This function has a different return type on some platforms:
|
|
Solaris 11.4.
|
|
@end itemize
|
|
|
|
Portability problems not fixed by Gnulib:
|
|
@itemize
|
|
@item
|
|
The @code{GRND_INSECURE} flag is missing on some platforms:
|
|
glibc 2.34, macOS 10.15, GNU/kFreeBSD, FreeBSD 12.0, OpenBSD 7.5,
|
|
Minix 3.3, Haiku.
|
|
|
|
@item
|
|
The @code{GRND_RANDOM} flag has different effects on different platforms.
|
|
Some platforms ignore the flag, or yield data that can fail to be
|
|
random in some cases.
|
|
@end itemize
|
|
|
|
@noindent
|
|
Although this function is intended to produce random data, the data's
|
|
security properties may not be appropriate for your application.
|
|
For example, identical ``random'' data streams might be produced by
|
|
rebooted virtual machines. If this is of concern you may need to use
|
|
additional techniques such as hedging.@footnote{Ristenpart T, Yilek
|
|
S@. @url{https://pages.cs.wisc.edu/~rist/papers/sslhedge.pdf, When good
|
|
randomness goes bad: virtual machine vulnerabilities and hedging
|
|
deployed cryptography}. NDSS 2010.}
|
|
|
|
@mindex getentropy
|
|
@mindex crypto/gc-random
|
|
Related modules include @code{getentropy}, which has a simpler but
|
|
more-limited API, and @code{crypto/gc-random}, which is likely a
|
|
better match for code already using the other @code{crypto} APIs.
|