summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMavridis Philippe <mfilippos@yandex.ru>2019-05-09 14:32:06 +0300
committerMavridis Philippe <mfilippos@yandex.ru>2019-05-10 14:42:15 +0300
commit86fea6f5c542ba7113dbc598d8b4c18be69901f2 (patch)
treed1027fb852746451aba3db198a07e1ba0d42a064
parentdadafca88037390b0e833d904ae5b80f5b9b4061 (diff)
downloadtdelibs-86fea6f5c542ba7113dbc598d8b4c18be69901f2.zip
tdelibs-86fea6f5c542ba7113dbc598d8b4c18be69901f2.tar.gz
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>
-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 be335b1..312aef2 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 2df78fe..fb0d10a 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;