aboutsummaryrefslogtreecommitdiff
path: root/crypto/rand/rand_egd.c
diff options
context:
space:
mode:
authorRichard Levitte <levitte@openssl.org>2000-06-28 16:09:54 +0000
committerRichard Levitte <levitte@openssl.org>2000-06-28 16:09:54 +0000
commitdffd72f171fba5ab14ca86aafc5d5eba131206ad (patch)
tree454ad871616f7599a53625baf44d9d80c81ee079 /crypto/rand/rand_egd.c
parent3b3bc455d0a670b835a37996f35651b83b52d8df (diff)
downloadopenssl-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.c11
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))