Branch: master

86fea6f5 2019-05-10 11:42:15 Mavridis Philippe
Added some checks in KSSL (in TDEIO) to correctly recognize LibreSSL (which is a fork of OpenSSL 1.0.1b)
This resolves issue #28.

Signed-off-by: Mavridis Philippe <mfilippos@...>
M tdeio/kssl/kopenssl.h
M tdeio/kssl/ksslcertificate.cc

tdeio/kssl/kopenssl.h

diff --git a/tdeio/kssl/kopenssl.h b/tdeio/kssl/kopenssl.h
index be335b1..312aef2 100644
--- a/tdeio/kssl/kopenssl.h
+++ b/tdeio/kssl/kopenssl.h
@@ -48,7 +48,8 @@
 #include <openssl/stack.h>
 #include <openssl/bn.h>
 #undef crypt
-#if OPENSSL_VERSION_NUMBER >= 0x10100000L
+
+#if OPENSSL_VERSION_NUMBER >= 0x10100000L && !defined(LIBRESSL_VERSION_NUMBER)
 #define STACK OPENSSL_STACK
 #else
 #if OPENSSL_VERSION_NUMBER >= 0x10000000L
@@ -59,7 +60,7 @@
 
 #include <kstaticdeleter.h>
 
-#if OPENSSL_VERSION_NUMBER < 0x10100000L
+#if OPENSSL_VERSION_NUMBER < 0x10100000L || defined(LIBRESSL_VERSION_NUMBER)
 typedef int (*X509_STORE_CTX_verify_cb)(int, X509_STORE_CTX *);
 typedef int X509_LOOKUP_TYPE;
 #endif

tdeio/kssl/ksslcertificate.cc

diff --git a/tdeio/kssl/ksslcertificate.cc b/tdeio/kssl/ksslcertificate.cc
index 2df78fe..fb0d10a 100644
--- a/tdeio/kssl/ksslcertificate.cc
+++ b/tdeio/kssl/ksslcertificate.cc
@@ -1069,7 +1069,7 @@
 
 #define NETSCAPE_CERT_HDR     "certificate"
 #ifdef KSSL_HAVE_SSL
-#if OPENSSL_VERSION_NUMBER >= 0x10100000L
+#if OPENSSL_VERSION_NUMBER >= 0x10100000L && !defined(LIBERSSL_VERSION_NUMBER)
 typedef struct NETSCAPE_X509_st
 {
 	ASN1_OCTET_STRING *header;