summaryrefslogtreecommitdiffstats
path: root/chat-libs/libstrophe/libressl.patch
diff options
context:
space:
mode:
Diffstat (limited to 'chat-libs/libstrophe/libressl.patch')
-rw-r--r--chat-libs/libstrophe/libressl.patch38
1 files changed, 38 insertions, 0 deletions
diff --git a/chat-libs/libstrophe/libressl.patch b/chat-libs/libstrophe/libressl.patch
new file mode 100644
index 0000000000..bf18a063f1
--- /dev/null
+++ b/chat-libs/libstrophe/libressl.patch
@@ -0,0 +1,38 @@
+--- src/tls_openssl.c.orig
++++ src/tls_openssl.c
+@@ -52,7 +52,7 @@ static void _tls_dump_cert_info(tls_t *tls);
+
+ void tls_initialize(void)
+ {
+-#if OPENSSL_VERSION_NUMBER < 0x10100000L
++#if OPENSSL_VERSION_NUMBER < 0x10100000L || defined(LIBRESSL_VERSION_NUMBER)
+ SSL_library_init();
+ SSL_load_error_strings();
+ #else
+@@ -67,14 +67,14 @@ void tls_shutdown(void)
+ * openssl after libstrophe finalization. Maybe better leak some fixed
+ * memory rather than cause random crashes of the main program.
+ */
+-#if OPENSSL_VERSION_NUMBER < 0x10100000L
++#if OPENSSL_VERSION_NUMBER < 0x10100000L || defined(LIBRESSL_VERSION_NUMBER)
+ ERR_free_strings();
+ EVP_cleanup();
+ CRYPTO_cleanup_all_ex_data();
+-#if OPENSSL_VERSION_NUMBER >= 0x10002000L
++#if OPENSSL_VERSION_NUMBER >= 0x10002000L && !defined(LIBRESSL_VERSION_NUMBER)
+ SSL_COMP_free_compression_methods();
+ #endif
+-#if OPENSSL_VERSION_NUMBER < 0x10000000L
++#if OPENSSL_VERSION_NUMBER < 0x10000000L || defined(LIBRESSL_VERSION_NUMBER)
+ ERR_remove_state(0);
+ #else
+ ERR_remove_thread_state(NULL);
+@@ -121,7 +121,7 @@ tls_t *tls_new(xmpp_conn_t *conn)
+ /* Trust server's certificate when user sets the flag explicitly. */
+ mode = conn->tls_trust ? SSL_VERIFY_NONE : SSL_VERIFY_PEER;
+ SSL_set_verify(tls->ssl, mode, 0);
+-#if OPENSSL_VERSION_NUMBER >= 0x10002000L
++#if OPENSSL_VERSION_NUMBER >= 0x10002000L && !defined(LIBRESSL_VERSION_NUMBER)
+ /* Hostname verification is supported in OpenSSL 1.0.2 and newer. */
+ X509_VERIFY_PARAM *param = SSL_get0_param(tls->ssl);
+