summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorChristian Heimes <christian@cheimes.de>2013-10-29 20:08:56 (GMT)
committerChristian Heimes <christian@cheimes.de>2013-10-29 20:08:56 (GMT)
commit70088f14ad33e9f6e1734513594f83d42880e885 (patch)
tree7de81b3e4605a167340ed874e4cfc4cbc6a101b2
parentc9cb18d3f7e5bf03220c213183ff0caa75905bdd (diff)
downloadcpython-70088f14ad33e9f6e1734513594f83d42880e885.zip
cpython-70088f14ad33e9f6e1734513594f83d42880e885.tar.gz
cpython-70088f14ad33e9f6e1734513594f83d42880e885.tar.bz2
Issue #18747: document issue with OpenSSL's CPRNG state and fork
-rw-r--r--Doc/library/os.rst4
-rw-r--r--Doc/library/ssl.rst8
2 files changed, 12 insertions, 0 deletions
diff --git a/Doc/library/os.rst b/Doc/library/os.rst
index 715f654..ebba21a 100644
--- a/Doc/library/os.rst
+++ b/Doc/library/os.rst
@@ -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.
diff --git a/Doc/library/ssl.rst b/Doc/library/ssl.rst
index 0f5cea2..56fcc52 100644
--- a/Doc/library/ssl.rst
+++ b/Doc/library/ssl.rst
@@ -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.