ports/devel/gsoap/files/patch-gsoap_stdsoap2.cpp
Muhammad Moinur Rahman e76762ff79 devel/gsoap: Update 2.8.44=>2.8.45
- Fix for building with LibreSSL [1]

PR:		218375 [1]
Submitted by:	grembo [1]
2017-04-08 18:37:42 +00:00

57 lines
2.2 KiB
C++

--- gsoap/stdsoap2.cpp.orig 2017-04-07 18:39:02 UTC
+++ gsoap/stdsoap2.cpp
@@ -3735,7 +3735,7 @@ ssl_auth_init(struct soap *soap)
ERR_clear_error();
if (!soap->ctx)
{
-#if (OPENSSL_VERSION_NUMBER >= 0x10100000L)
+#if (OPENSSL_VERSION_NUMBER >= 0x10100000L && !defined(LIBRESSL_VERSION_NUMBER))
/* TLS_method: a TLS/SSL connection established may understand the SSLv3, TLSv1, TLSv1.1 and TLSv1.2 protocols. */
soap->ctx = SSL_CTX_new(TLS_method());
#else
@@ -3812,7 +3812,7 @@ ssl_auth_init(struct soap *soap)
#endif
if ((soap->ssl_flags & SOAP_SSL_RSA))
{
-#if (OPENSSL_VERSION_NUMBER >= 0x10100000L)
+#if (OPENSSL_VERSION_NUMBER >= 0x10100000L && !defined(LIBRESSL_VERSION_NUMBER))
if (SSL_CTX_need_tmp_RSA(soap->ctx))
#endif
{ RSA *rsa = RSA_generate_key(SOAP_SSL_RSA_BITS, RSA_F4, NULL, NULL);
@@ -5501,7 +5501,7 @@ tcp_disconnect(struct soap *soap)
DBGLOG(TEST, SOAP_MESSAGE(fdebug, "Connection lost...\n"));
soap->fclosesocket(soap, soap->socket);
soap->socket = SOAP_INVALID_SOCKET;
-#if (OPENSSL_VERSION_NUMBER >= 0x10100000L)
+#if (OPENSSL_VERSION_NUMBER >= 0x10100000L && !defined(LIBRESSL_VERSION_NUMBER))
ERR_clear_error();
#else
ERR_remove_state(0);
@@ -5525,7 +5525,7 @@ tcp_disconnect(struct soap *soap)
}
SSL_free(soap->ssl);
soap->ssl = NULL;
-#if (OPENSSL_VERSION_NUMBER >= 0x10100000L)
+#if (OPENSSL_VERSION_NUMBER >= 0x10100000L && !defined(LIBRESSL_VERSION_NUMBER))
ERR_clear_error();
#else
ERR_remove_state(0);
@@ -5703,6 +5703,9 @@ soap_bind(struct soap *soap, const char
}
#endif
#ifdef TCP_FASTOPEN
+ #ifndef SOL_TCP
+ #define SOL_TCP IPPROTO_TCP
+ #endif
if (!(soap->omode & SOAP_IO_UDP) && setsockopt(soap->master, IPPROTO_TCP, TCP_FASTOPEN, (char*)&set, sizeof(int)))
{ /* silently ignore */
DBGLOG(TEST, SOAP_MESSAGE(fdebug, "setsockopt TCP_FASTOPEN failed in soap_bind()\n"));
@@ -6146,7 +6149,7 @@ soap_done(struct soap *soap)
soap->ctx = NULL;
}
}
-#if (OPENSSL_VERSION_NUMBER >= 0x10100000L)
+#if (OPENSSL_VERSION_NUMBER >= 0x10100000L && !defined(LIBRESSL_VERSION_NUMBER))
ERR_clear_error();
#else
ERR_remove_state(0);