summaryrefslogtreecommitdiff
path: root/entropy.c
diff options
context:
space:
mode:
authorDamien Miller <djm@mindrot.org>2001-02-27 09:20:57 +1100
committerDamien Miller <djm@mindrot.org>2001-02-27 09:20:57 +1100
commit767c7fc27cac2ecbb2d8248369c0b93d8901f30f (patch)
tree641537031f8a7084af622f86502cb22eafb816ad /entropy.c
parent31a501d21ef91a84a2fe09f91dda9b6a850d8840 (diff)
- (djm) fatal() on OpenSSL version mismatch
Diffstat (limited to 'entropy.c')
-rw-r--r--entropy.c19
1 files changed, 16 insertions, 3 deletions
diff --git a/entropy.c b/entropy.c
index 9743e598b..2b983bba3 100644
--- a/entropy.c
+++ b/entropy.c
@@ -26,6 +26,7 @@
26 26
27#include <openssl/rand.h> 27#include <openssl/rand.h>
28#include <openssl/sha.h> 28#include <openssl/sha.h>
29#include <openssl/crypto.h>
29 30
30/* SunOS 4.4.4 needs this */ 31/* SunOS 4.4.4 needs this */
31#ifdef HAVE_FLOATINGPOINT_H 32#ifdef HAVE_FLOATINGPOINT_H
@@ -39,7 +40,7 @@
39#include "pathnames.h" 40#include "pathnames.h"
40#include "log.h" 41#include "log.h"
41 42
42RCSID("$Id: entropy.c,v 1.31 2001/02/26 21:39:07 djm Exp $"); 43RCSID("$Id: entropy.c,v 1.32 2001/02/26 22:20:58 djm Exp $");
43 44
44#ifndef offsetof 45#ifndef offsetof
45# define offsetof(type, member) ((size_t) &((type *)0)->member) 46# 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 $");
67# define SAVED_IDS_WORK_WITH_SETEUID 68# define SAVED_IDS_WORK_WITH_SETEUID
68#endif 69#endif
69 70
71void check_openssl_version(void)
72{
73 if (SSLeay() != OPENSSL_VERSION_NUMBER)
74 fatal("OpenSSL version mismatch. Built against %x, you "
75 "have %x", OPENSSL_VERSION_NUMBER, SSLeay());
76}
77
78
70#if defined(EGD_SOCKET) || defined(RANDOM_POOL) 79#if defined(EGD_SOCKET) || defined(RANDOM_POOL)
71 80
72#ifdef EGD_SOCKET 81#ifdef EGD_SOCKET
@@ -188,8 +197,10 @@ seed_rng(void)
188 memset(buf, '\0', sizeof(buf)); 197 memset(buf, '\0', sizeof(buf));
189} 198}
190 199
191/* No-op */ 200void init_rng(void)
192void init_rng(void) {} 201{
202 check_openssl_version();
203}
193 204
194#else /* defined(EGD_SOCKET) || defined(RANDOM_POOL) */ 205#else /* defined(EGD_SOCKET) || defined(RANDOM_POOL) */
195 206
@@ -818,6 +829,8 @@ void init_rng(void)
818{ 829{
819 int original_euid; 830 int original_euid;
820 831
832 check_openssl_version();
833
821 original_uid = getuid(); 834 original_uid = getuid();
822 original_euid = geteuid(); 835 original_euid = geteuid();
823 836