- (djm) Fix up POSIX saved uid support. Report from Mark Miller
<markm@swoon.net>
- (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.
#include <openssl/rand.h>
#include <openssl/sha.h>
+#include <openssl/crypto.h>
/* SunOS 4.4.4 needs this */
#ifdef HAVE_FLOATINGPOINT_H
# 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
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) */
{
int original_euid;
+ check_openssl_version();
+
original_uid = getuid();
original_euid = geteuid();