[Python-checkins] [2.7] bpo-35264: Modules/_ssl.c: fix build with OpenSSL 1.1.0 (GH-10570)
Miss Islington (bot)
webhook-mailer at python.org
Wed Sep 11 13:23:31 EDT 2019
https://github.com/python/cpython/commit/0d63669e52dd7e95708ec14e9e3e07d7dc9cd913
commit: 0d63669e52dd7e95708ec14e9e3e07d7dc9cd913
branch: 2.7
author: Alexandru Ardelean <ardeleanalex at gmail.com>
committer: Miss Islington (bot) <31488909+miss-islington at users.noreply.github.com>
date: 2019-09-11T10:23:28-07:00
summary:
[2.7] bpo-35264: Modules/_ssl.c: fix build with OpenSSL 1.1.0 (GH-10570)
Fixes a build error with OpenSSL 1.1.0. There is already code in the
`_ssl.c` that handles all the weird cases of the NPN config macros (with
various OpenSSL & LibreSSL versions).
That code will provide a HAVE_NPN variable, which should be used in the
rest of the code to check whether (or what) to compile regarding NPN.
This change adds HAVE_NPN in the remaining places where it should have been
placed.
Signed-off-by: Alexandru Ardelean <ardeleanalex at gmail.com>
https://bugs.python.org/issue35264
files:
A Misc/NEWS.d/next/Build/2018-11-16-15-19-09.bpo-35264.h5GxH3.rst
M Modules/_ssl.c
diff --git a/Misc/NEWS.d/next/Build/2018-11-16-15-19-09.bpo-35264.h5GxH3.rst b/Misc/NEWS.d/next/Build/2018-11-16-15-19-09.bpo-35264.h5GxH3.rst
new file mode 100644
index 000000000000..d17968a52deb
--- /dev/null
+++ b/Misc/NEWS.d/next/Build/2018-11-16-15-19-09.bpo-35264.h5GxH3.rst
@@ -0,0 +1 @@
+Fix SSL module build with OpenSSL 1.1.0
diff --git a/Modules/_ssl.c b/Modules/_ssl.c
index 93b635cc4ac9..98c8a5a4a95c 100644
--- a/Modules/_ssl.c
+++ b/Modules/_ssl.c
@@ -1590,7 +1590,7 @@ static PyObject *PySSL_version(PySSLSocket *self)
return PyUnicode_FromString(version);
}
-#if defined(OPENSSL_NPN_NEGOTIATED) && !defined(OPENSSL_NO_NEXTPROTONEG)
+#if HAVE_NPN
static PyObject *PySSL_selected_npn_protocol(PySSLSocket *self) {
const unsigned char *out;
unsigned int outlen;
@@ -2118,7 +2118,7 @@ static PyMethodDef PySSLMethods[] = {
PySSL_peercert_doc},
{"cipher", (PyCFunction)PySSL_cipher, METH_NOARGS},
{"version", (PyCFunction)PySSL_version, METH_NOARGS},
-#ifdef OPENSSL_NPN_NEGOTIATED
+#if HAVE_NPN
{"selected_npn_protocol", (PyCFunction)PySSL_selected_npn_protocol, METH_NOARGS},
#endif
#if HAVE_ALPN
More information about the Python-checkins
mailing list