Issue #18747: document issue with OpenSSL's CPRNG state and fork

This commit is contained in:
Christian Heimes 2013-10-29 21:08:56 +01:00
parent c9cb18d3f7
commit 70088f14ad
2 changed files with 12 additions and 0 deletions

View File

@ -1809,6 +1809,10 @@ written in Python, such as a mail server's external command delivery program.
Note that some platforms including FreeBSD <= 6.3, Cygwin and OS/2 EMX have
known issues when using fork() from a thread.
.. warning::
See :mod:`ssl` for applications that use the SSL module with fork().
Availability: Unix.

View File

@ -28,6 +28,14 @@ probably additional platforms, as long as OpenSSL is installed on that platform.
operating system socket APIs. The installed version of OpenSSL may also
cause variations in behavior.
.. warning::
OpenSSL's internal random number generator does not properly handle fork.
Applications must change the PRNG state of the parent process if they use
any SSL feature with with :func:`os.fork`. Any successful call of
:func:`~ssl.RAND_add`, :func:`~ssl.RAND_bytes` or
:func:`~ssl.RAND_pseudo_bytes` is sufficient.
This section documents the objects and functions in the ``ssl`` module; for more
general information about TLS, SSL, and certificates, the reader is referred to
the documents in the "See Also" section at the bottom.