summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMavridis Philippe <mfilippos@yandex.ru>2019-05-09 14:32:06 +0300
committerSlávek Banko <slavek.banko@axis.cz>2019-05-10 14:31:17 +0200
commitc5d222de8e5dad8a23087069876cb623a0db1d17 (patch)
treecd3c0d8aacb382b1d2b8a0849b0417e8570fba52
parentfe423b35a83c82acae185a122652cc221debe8d2 (diff)
downloadtdelibs-c5d222de8e5dad8a23087069876cb623a0db1d17.tar.gz
tdelibs-c5d222de8e5dad8a23087069876cb623a0db1d17.zip
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@yandex.ru> (cherry picked from commit 86fea6f5c542ba7113dbc598d8b4c18be69901f2)
-rw-r--r--tdeio/kssl/kopenssl.h5
-rw-r--r--tdeio/kssl/ksslcertificate.cc2
2 files changed, 4 insertions, 3 deletions
diff --git a/tdeio/kssl/kopenssl.h b/tdeio/kssl/kopenssl.h
index be335b199..312aef2c8 100644
--- a/tdeio/kssl/kopenssl.h
+++ b/tdeio/kssl/kopenssl.h
@@ -48,7 +48,8 @@ class KOpenSSLProxyPrivate;
#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 @@ class KOpenSSLProxyPrivate;
#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
diff --git a/tdeio/kssl/ksslcertificate.cc b/tdeio/kssl/ksslcertificate.cc
index 2df78fef7..fb0d10a05 100644
--- a/tdeio/kssl/ksslcertificate.cc
+++ b/tdeio/kssl/ksslcertificate.cc
@@ -1069,7 +1069,7 @@ return qba;
#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;