Hey,

The check in crypto/engine/eng_cryptodev.c for FreeBSD is incorrect
and never enables the code on FreeBSD as __FreeBSD_version is only set
if param.h is included, which it isn't yet at that point.

The attached patch by Norikatsu Shigemura <[EMAIL PROTECTED]> fixes the
problem.

The patch can also be found at the following URL in case the
attachment is mangled in transit:
http://people.freebsd.org/~simon/patches/openssl-vendor-cryptodev-freebsd-check.patch

-- 
Simon L. Nielsen

diff -ru openssl-0.9.8g.orig/crypto/engine/eng_cryptodev.c openssl-0.9.8g/crypto/engine/eng_cryptodev.c
--- openssl-0.9.8g.orig/crypto/engine/eng_cryptodev.c	2004-06-15 13:45:42.000000000 +0200
+++ openssl-0.9.8g/crypto/engine/eng_cryptodev.c	2007-12-16 11:15:12.000000000 +0100
@@ -32,7 +32,7 @@
 #include <openssl/bn.h>
 
 #if (defined(__unix__) || defined(unix)) && !defined(USG) && \
-	(defined(OpenBSD) || defined(__FreeBSD_version))
+	(defined(OpenBSD) || defined(__FreeBSD__))
 #include <sys/param.h>
 # if (OpenBSD >= 200112) || ((__FreeBSD_version >= 470101 && __FreeBSD_version < 500000) || __FreeBSD_version >= 500041)
 #  define HAVE_CRYPTODEV
Only in openssl-0.9.8g/crypto/engine: eng_cryptodev.c.orig

Reply via email to