summaryrefslogtreecommitdiff
path: root/doc/lispref/numbers.texi
diff options
context:
space:
mode:
authorEli Zaretskii <eliz@gnu.org>2016-01-15 11:47:55 +0200
committerEli Zaretskii <eliz@gnu.org>2016-01-15 11:47:55 +0200
commit3ffe81e245d854a694ae1734f1b6a995bdc5e724 (patch)
tree2d8fccecc5b404f8fb71e15fe0ea6477a09a1857 /doc/lispref/numbers.texi
parentfee0526a189f43e8470d78e8374bd425890fbe6f (diff)
downloademacs-3ffe81e245d854a694ae1734f1b6a995bdc5e724.tar.gz
Make 'random' seeds cryptographically secure if possible
* configure.ac: Check for "/dev/urandom". * src/sysdep.c (init_random) [HAVE_DEV_URANDOM]: Read the stream for the seed from "/dev/urandom". [WINDOWSNT]: Obtain the stream for the seed from w32 APIs. * src/fns.c (Frandom): Update the doc string to indicate that system entropy is used when available. * src/w32.c: Include wincrypt.h. (w32_init_crypt_random, w32_init_random): New functions, use the CryptGenRandom API. (globals_of_w32): Initialize w32_crypto_hprov handle to zero. * src/w32.h (w32_init_random): Add prototype. * doc/lispref/numbers.texi (Random Numbers): Document more details about 't' as the argument to 'random'. * etc/NEWS: Mention that '(random t)' now uses a cryptographically strong seed if possible. (Bug#22202)
Diffstat (limited to 'doc/lispref/numbers.texi')
-rw-r--r--doc/lispref/numbers.texi4
1 files changed, 3 insertions, 1 deletions
diff --git a/doc/lispref/numbers.texi b/doc/lispref/numbers.texi
index 20d3c4290f3..3a9483af967 100644
--- a/doc/lispref/numbers.texi
+++ b/doc/lispref/numbers.texi
@@ -1252,7 +1252,9 @@ any integer representable in Lisp, i.e., an integer between
(@pxref{Integer Basics}).
If @var{limit} is @code{t}, it means to choose a new seed as if Emacs
-were restarting.
+were restarting. The new seed will be set from the system entropy, if
+that is available, or from the current time and Emacs process's PID
+(@pxref{System Environment, emacs-pid}) if not.
If @var{limit} is a string, it means to choose a new seed based on the
string's contents.