Revert O_CLOEXEC change to fix builds (#4570)
diff --git a/CHANGELOG.rst b/CHANGELOG.rst
index ac3b4e1..6ea810c 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 24dedda..947c79a 100644
--- a/src/_cffi_src/openssl/src/osrandom_engine.c
+++ b/src/_cffi_src/openssl/src/osrandom_engine.c
@@ -92,7 +92,7 @@
/* 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 @@
}
}
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 e27f8c0..adedd76 100644
--- a/src/cryptography/__about__.py
+++ b/src/cryptography/__about__.py
@@ -14,7 +14,7 @@
" 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 74c77b1..a235572 100644
--- a/vectors/cryptography_vectors/__about__.py
+++ b/vectors/cryptography_vectors/__about__.py
@@ -14,7 +14,7 @@
__uri__ = "https://github.com/pyca/cryptography"
-__version__ = "2.4"
+__version__ = "2.4.1"
__author__ = "The cryptography developers"
__email__ = "cryptography-dev@python.org"