From db08466131a2d495e4bf58e34bf8d0090be04a2d Mon Sep 17 00:00:00 2001 From: Alex Gaynor Date: Sun, 11 Nov 2018 19:50:10 -0500 Subject: Revert O_CLOEXEC change to fix builds (#4570) --- CHANGELOG.rst | 7 +++++++ src/_cffi_src/openssl/src/osrandom_engine.c | 11 +++++++++-- src/cryptography/__about__.py | 2 +- vectors/cryptography_vectors/__about__.py | 2 +- 4 files changed, 18 insertions(+), 4 deletions(-) diff --git a/CHANGELOG.rst b/CHANGELOG.rst index ac3b4e17..6ea810cb 100644 --- a/CHANGELOG.rst +++ b/CHANGELOG.rst @@ -1,6 +1,13 @@ Changelog ========= +.. _v2-4-1: + +2.4.1 - 2018-11-11 +~~~~~~~~~~~~~~~~~~ + +* Fixed a build breakage in our ``manylinux1`` wheels. + .. _v2-4: 2.4 - 2018-11-11 diff --git a/src/_cffi_src/openssl/src/osrandom_engine.c b/src/_cffi_src/openssl/src/osrandom_engine.c index 24dedda4..947c79aa 100644 --- a/src/_cffi_src/openssl/src/osrandom_engine.c +++ b/src/_cffi_src/openssl/src/osrandom_engine.c @@ -92,7 +92,7 @@ static struct { /* return -1 on error */ static int dev_urandom_fd(void) { - int fd, n; + int fd, n, flags; struct stat st; /* Check that fd still points to the correct device */ @@ -106,13 +106,20 @@ static int dev_urandom_fd(void) { } } if (urandom_cache.fd < 0) { - fd = open("/dev/urandom", O_RDONLY | O_CLOEXEC); + fd = open("/dev/urandom", O_RDONLY); if (fd < 0) { goto error; } if (fstat(fd, &st)) { goto error; } + /* set CLOEXEC flag */ + flags = fcntl(fd, F_GETFD); + if (flags == -1) { + goto error; + } else if (fcntl(fd, F_SETFD, flags | FD_CLOEXEC) == -1) { + goto error; + } /* Another thread initialized the fd */ if (urandom_cache.fd >= 0) { do { diff --git a/src/cryptography/__about__.py b/src/cryptography/__about__.py index e27f8c06..adedd762 100644 --- a/src/cryptography/__about__.py +++ b/src/cryptography/__about__.py @@ -14,7 +14,7 @@ __summary__ = ("cryptography is a package which provides cryptographic recipes" " and primitives to Python developers.") __uri__ = "https://github.com/pyca/cryptography" -__version__ = "2.4" +__version__ = "2.4.1" __author__ = "The cryptography developers" __email__ = "cryptography-dev@python.org" diff --git a/vectors/cryptography_vectors/__about__.py b/vectors/cryptography_vectors/__about__.py index 74c77b1a..a235572f 100644 --- a/vectors/cryptography_vectors/__about__.py +++ b/vectors/cryptography_vectors/__about__.py @@ -14,7 +14,7 @@ __summary__ = "Test vectors for the cryptography package." __uri__ = "https://github.com/pyca/cryptography" -__version__ = "2.4" +__version__ = "2.4.1" __author__ = "The cryptography developers" __email__ = "cryptography-dev@python.org" -- cgit v1.2.3