From c7c724469bbb05969b7e7ff93585922d78771ff6 Mon Sep 17 00:00:00 2001 From: djm Date: Mon, 26 Feb 2001 22:20:57 +0000 Subject: [PATCH] - (djm) fatal() on OpenSSL version mismatch --- ChangeLog | 1 + entropy.c | 17 +++++++++++++++-- 2 files changed, 16 insertions(+), 2 deletions(-) diff --git a/ChangeLog b/ChangeLog index ea454e58..4266e5b1 100644 --- a/ChangeLog +++ b/ChangeLog @@ -10,6 +10,7 @@ - (djm) Fix up POSIX saved uid support. Report from Mark Miller - (djm) Search for -lcrypt on FreeBSD too + - (djm) fatal() on OpenSSL version mismatch 20010226 - (bal) Fixed bsd-snprinf.c so it now honors 'BROKEN_SNPRINTF' again. diff --git a/entropy.c b/entropy.c index 260d5bdf..34bb5eb1 100644 --- a/entropy.c +++ b/entropy.c @@ -26,6 +26,7 @@ #include #include +#include /* SunOS 4.4.4 needs this */ #ifdef HAVE_FLOATINGPOINT_H @@ -67,6 +68,14 @@ RCSID("$Id$"); # 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(); -- 2.45.1