Files
blocxx/blockcxx-openssl.patch

55 lines
1.5 KiB
Diff
Raw Permalink Normal View History

--- src/blocxx/SSLCtxMgr.cpp.orig
+++ src/blocxx/SSLCtxMgr.cpp
@@ -53,6 +53,9 @@
#include <openssl/rand.h>
#include <openssl/err.h>
+#if defined(BLOCXX_HAVE_OPENSSL_ENGINE_H) && !defined(OPENSSL_NO_ENGINE)
+#include <openssl/engine.h>
+#endif
#include <cstring>
#include <csignal>
#include <cerrno>
@@ -190,6 +193,10 @@ struct SSLGlobalWork
SSL_library_init();
SSL_load_error_strings();
+#if defined(BLOCXX_HAVE_OPENSSL_ENGINE_H) && !defined(OPENSSL_NO_ENGINE)
+ ENGINE_load_builtin_engines();
+ ENGINE_register_all_complete();
+#endif
}
initLock.release();
@@ -326,6 +333,9 @@ SSLCtxMgr::initCtx(const String& certfil
{
BLOCXX_THROW(SSLException, Format("SSLCtxMgr::initCtx(): SSL_CTX_new returned 0: %1", getOpenSSLErrorDescription()).c_str());
}
+#ifdef SSL_MODE_RELEASE_BUFFERS
+ SSL_CTX_set_mode(ctx, SSL_MODE_RELEASE_BUFFERS);
+#endif
SSL_CTX_set_default_passwd_cb(ctx, pem_passwd_cb);
if (!certfile.empty())
{
--- configure.in.orig
+++ configure.in
@@ -39,7 +39,8 @@ AM_MAINTAINER_MODE
dnl Checks for programs.
AC_CANONICAL_HOST
-AC_PROG_CC
+AC_PROG_CC_STDC
+AC_USE_SYSTEM_EXTENSIONS
AC_PROG_CXX
AC_LANG_C
#AC_LANG_CPLUSPLUS
@@ -1417,7 +1418,7 @@ AC_CACHE_CHECK([for OpenSSL directory],
CPPFLAGS="$saved_CPPFLAGS -I$ssldir"
fi
fi
-
+ AC_CHECK_HEADERS([openssl/engine.h])
# Basic test to check for compatible version and correct linking
# *does not* test for RSA - that comes later.
AC_TRY_COMPILE(