diff options
author | Richard Levitte <levitte@openssl.org> | 2000-06-28 16:09:54 +0000 |
---|---|---|
committer | Richard Levitte <levitte@openssl.org> | 2000-06-28 16:09:54 +0000 |
commit | dffd72f171fba5ab14ca86aafc5d5eba131206ad (patch) | |
tree | 454ad871616f7599a53625baf44d9d80c81ee079 /crypto/rand/rand_egd.c | |
parent | 3b3bc455d0a670b835a37996f35651b83b52d8df (diff) | |
download | openssl-dffd72f171fba5ab14ca86aafc5d5eba131206ad.zip openssl-dffd72f171fba5ab14ca86aafc5d5eba131206ad.tar.gz openssl-dffd72f171fba5ab14ca86aafc5d5eba131206ad.tar.bz2 |
Make it possible for people to tell where the EGD socket is through
the RANDEGD environment variable.
Diffstat (limited to 'crypto/rand/rand_egd.c')
-rw-r--r-- | crypto/rand/rand_egd.c | 11 |
1 files changed, 11 insertions, 0 deletions
diff --git a/crypto/rand/rand_egd.c b/crypto/rand/rand_egd.c index 02a0d86..ad5385a 100644 --- a/crypto/rand/rand_egd.c +++ b/crypto/rand/rand_egd.c @@ -54,6 +54,7 @@ * */ +#include <stdlib.h> #include <openssl/rand.h> /* Query the EGD <URL: http://www.lothar.com/tech/crypto/>. @@ -83,12 +84,17 @@ int RAND_egd_bytes(const char *path,int bytes) int RAND_egd(const char *path) { + const char *s; int ret = -1; struct sockaddr_un addr; int len, num; int fd = -1; unsigned char buf[256]; + s=getenv("RANDEGD"); + if (s != NULL) + path = s; + memset(&addr, 0, sizeof(addr)); addr.sun_family = AF_UNIX; if (strlen(path) > sizeof(addr.sun_path)) @@ -115,12 +121,17 @@ int RAND_egd(const char *path) int RAND_egd_bytes(const char *path,int bytes) { + const char *s; int ret = 0; struct sockaddr_un addr; int len, num; int fd = -1; unsigned char buf[255]; + s=getenv("RANDEGD"); + if (s != NULL) + path = s; + memset(&addr, 0, sizeof(addr)); addr.sun_family = AF_UNIX; if (strlen(path) > sizeof(addr.sun_path)) |