From: djm Date: Mon, 26 Feb 2001 22:20:57 +0000 (+0000) Subject: - (djm) fatal() on OpenSSL version mismatch X-Git-Tag: V_2_5_1_P2~19 X-Git-Url: http://andersk.mit.edu/gitweb/openssh.git/commitdiff_plain/c7c724469bbb05969b7e7ff93585922d78771ff6 - (djm) fatal() on OpenSSL version mismatch --- 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();