File blockcxx-openssl.patch of Package blocxx

--- 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(