diff options
-rw-r--r-- | ChangeLog | 3 | ||||
-rw-r--r-- | entropy.c | 19 |
2 files changed, 18 insertions, 4 deletions
@@ -10,6 +10,7 @@ | |||
10 | - (djm) Fix up POSIX saved uid support. Report from Mark Miller | 10 | - (djm) Fix up POSIX saved uid support. Report from Mark Miller |
11 | <markm@swoon.net> | 11 | <markm@swoon.net> |
12 | - (djm) Search for -lcrypt on FreeBSD too | 12 | - (djm) Search for -lcrypt on FreeBSD too |
13 | - (djm) fatal() on OpenSSL version mismatch | ||
13 | 14 | ||
14 | 20010226 | 15 | 20010226 |
15 | - (bal) Fixed bsd-snprinf.c so it now honors 'BROKEN_SNPRINTF' again. | 16 | - (bal) Fixed bsd-snprinf.c so it now honors 'BROKEN_SNPRINTF' again. |
@@ -4144,4 +4145,4 @@ | |||
4144 | - Wrote replacements for strlcpy and mkdtemp | 4145 | - Wrote replacements for strlcpy and mkdtemp |
4145 | - Released 1.0pre1 | 4146 | - Released 1.0pre1 |
4146 | 4147 | ||
4147 | $Id: ChangeLog,v 1.829 2001/02/26 22:11:59 mouring Exp $ | 4148 | $Id: ChangeLog,v 1.830 2001/02/26 22:20:57 djm Exp $ |
@@ -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 | ||
42 | RCSID("$Id: entropy.c,v 1.31 2001/02/26 21:39:07 djm Exp $"); | 43 | RCSID("$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 | ||
71 | void 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 */ | 200 | void init_rng(void) |
192 | void 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 | ||