From 767c7fc27cac2ecbb2d8248369c0b93d8901f30f Mon Sep 17 00:00:00 2001 From: Damien Miller Date: Tue, 27 Feb 2001 09:20:57 +1100 Subject: - (djm) fatal() on OpenSSL version mismatch --- entropy.c | 19 ++++++++++++++++--- 1 file changed, 16 insertions(+), 3 deletions(-) (limited to 'entropy.c') diff --git a/entropy.c b/entropy.c index 9743e598..2b983bba 100644 --- a/entropy.c +++ b/entropy.c @@ -26,6 +26,7 @@ #include #include +#include /* SunOS 4.4.4 needs this */ #ifdef HAVE_FLOATINGPOINT_H @@ -39,7 +40,7 @@ #include "pathnames.h" #include "log.h" -RCSID("$Id: entropy.c,v 1.31 2001/02/26 21:39:07 djm Exp $"); +RCSID("$Id: entropy.c,v 1.32 2001/02/26 22:20:58 djm Exp $"); #ifndef offsetof # define offsetof(type, member) ((size_t) &((type *)0)->member) @@ -67,6 +68,14 @@ RCSID("$Id: entropy.c,v 1.31 2001/02/26 21:39:07 djm Exp $"); # define SAVED_IDS_WORK_WITH_SETEUID #endif +void check_openssl_version(void) +{ + if (SSLeay() != OPENSSL_VERSION_NUMBER) + fatal("OpenSSL version mismatch. Built against %x, you " + "have %x", OPENSSL_VERSION_NUMBER, SSLeay()); +} + + #if defined(EGD_SOCKET) || defined(RANDOM_POOL) #ifdef EGD_SOCKET @@ -188,8 +197,10 @@ seed_rng(void) memset(buf, '\0', sizeof(buf)); } -/* No-op */ -void init_rng(void) {} +void init_rng(void) +{ + check_openssl_version(); +} #else /* defined(EGD_SOCKET) || defined(RANDOM_POOL) */ @@ -818,6 +829,8 @@ void init_rng(void) { int original_euid; + check_openssl_version(); + original_uid = getuid(); original_euid = geteuid(); -- cgit v1.2.3