aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorPaul Kehrer <paul.l.kehrer@gmail.com>2013-12-31 12:07:42 -0600
committerPaul Kehrer <paul.l.kehrer@gmail.com>2013-12-31 13:14:49 -0600
commitefdcbd909a47c6d6660bf621f2a8c488fde06f88 (patch)
tree5456f354b215ba64ddf414d770218a09b601ac23
parent53473d3447fd6ad5d70810da3e638e6e7a59afbb (diff)
downloadcryptography-efdcbd909a47c6d6660bf621f2a8c488fde06f88.tar.gz
cryptography-efdcbd909a47c6d6660bf621f2a8c488fde06f88.tar.bz2
cryptography-efdcbd909a47c6d6660bf621f2a8c488fde06f88.zip
check if the fd is available via engine status
-rw-r--r--cryptography/hazmat/backends/openssl/urand_engine.py12
1 files changed, 10 insertions, 2 deletions
diff --git a/cryptography/hazmat/backends/openssl/urand_engine.py b/cryptography/hazmat/backends/openssl/urand_engine.py
index 673b1480..6cbdab41 100644
--- a/cryptography/hazmat/backends/openssl/urand_engine.py
+++ b/cryptography/hazmat/backends/openssl/urand_engine.py
@@ -56,7 +56,11 @@ static int urandom_rand_bytes(unsigned char *buffer, int size) {
}
static int urandom_rand_status(void) {
- return 1;
+ if (urandom_fd == -1) {
+ return 0;
+ } else {
+ return 1;
+ }
}
static int urandom_init(ENGINE *e) {
@@ -130,7 +134,11 @@ static int urandom_finish(ENGINE *e) {
}
static int urandom_rand_status(void) {
- return 1;
+ if (hCryptProv == 0) {
+ return 0;
+ } else {
+ return 1;
+ }
}
#endif /* MS_WINDOWS */