Update from 1.0.0-stable
[oweals/openssl.git] / doc / crypto / RAND_egd.pod
index a6363c82cd872a394c66f54da2cde6d1430603cf..8b8c61d161b1a878c69a94e5a60f326a2a265cd8 100644 (file)
@@ -45,17 +45,21 @@ EGD is available from http://www.lothar.com/tech/crypto/ (C<perl
 Makefile.PL; make; make install> to install). It is run as B<egd>
 I<path>, where I<path> is an absolute path designating a socket. When
 RAND_egd() is called with that path as an argument, it tries to read
-random bytes that EGD has collected. The read is performed in
-non-blocking mode.
+random bytes that EGD has collected. RAND_egd() retrieves entropy from the
+daemon using the daemon's "non-blocking read" command which shall
+be answered immediately by the daemon without waiting for additional
+entropy to be collected. The write and read socket operations in the
+communication are blocking.
 
 Alternatively, the EGD-interface compatible daemon PRNGD can be used. It is
 available from
-http://www.aet.tu-cottbus.de/personen/jaenicke/postfix_tls/prngd.html .
+http://prngd.sourceforge.net/ .
 PRNGD does employ an internal PRNG itself and can therefore never run
 out of entropy.
 
-OpenSSL automatically queries EGD on startup if the socket is located at
-/var/run/egd-pool, /dev/egd-pool or /etc/egd-pool.
+OpenSSL automatically queries EGD when entropy is requested via RAND_bytes()
+or the status is checked via RAND_status() for the first time, if the socket
+is located at /var/run/egd-pool, /dev/egd-pool or /etc/egd-pool.
 
 =head1 RETURN VALUE
 
@@ -79,4 +83,6 @@ RAND_egd_bytes() is available since OpenSSL 0.9.6.
 
 RAND_query_egd_bytes() is available since OpenSSL 0.9.7.
 
+The automatic query of /var/run/egd-pool et al was added in OpenSSL 0.9.7.
+
 =cut