BuildSystem: Add patches to allow building with recent LibreSSL
authorGuido Falsi <madpilot@freebsd.org>
Thu, 8 Jun 2017 15:54:46 +0000 (17:54 +0200)
committerGuido Falsi <madpilot@freebsd.org>
Fri, 9 Jun 2017 13:34:34 +0000 (15:34 +0200)
Add some #if defined checks which allow building against LibreSSL.
These patchess come from OpenBSD ports:
https://cvsweb.openbsd.org/cgi-bin/cvsweb/ports/telephony/asterisk/patches/

ASTERISK-27043 #close
Reported by: OpenBSD ports

Change-Id: I2f6c08a5840b85ad4d2b75370b947ddde7a9a572

main/iostream.c
main/libasteriskssl.c

index 06414cf..2a2601d 100644 (file)
@@ -508,13 +508,13 @@ int ast_iostream_close(struct ast_iostream *stream)
                                        ERR_error_string(sslerr, err), ssl_error_to_string(sslerr, res));
                        }
 
-#if defined(OPENSSL_VERSION_NUMBER) && OPENSSL_VERSION_NUMBER >= 0x10100000L
+#if defined(OPENSSL_VERSION_NUMBER) && OPENSSL_VERSION_NUMBER >= 0x10100000L && !defined(LIBRESSL_VERSION_NUMBER)
                        if (!SSL_is_server(stream->ssl)) {
 #else
                        if (!stream->ssl->server) {
 #endif
                                /* For client threads, ensure that the error stack is cleared */
-#if !defined(OPENSSL_VERSION_NUMBER) || OPENSSL_VERSION_NUMBER < 0x10100000L
+#if !defined(OPENSSL_VERSION_NUMBER) || OPENSSL_VERSION_NUMBER < 0x10100000L || defined(LIBRESSL_VERSION_NUMBER)
 #if OPENSSL_VERSION_NUMBER >= 0x10000000L
                                ERR_remove_thread_state(NULL);
 #else
index 0ed05e3..9da63de 100644 (file)
@@ -72,7 +72,7 @@ static void ssl_lock(int mode, int n, const char *file, int line)
        }
 }
 
-#if !defined(OPENSSL_VERSION_NUMBER) || OPENSSL_VERSION_NUMBER < 0x10100000L
+#if !defined(OPENSSL_VERSION_NUMBER) || OPENSSL_VERSION_NUMBER < 0x10100000L || defined(LIBRESSL_VERSION_NUMBER)
 int SSL_library_init(void)
 {
 #if defined(AST_DEVMODE)
@@ -127,7 +127,7 @@ void ERR_free_strings(void)
 int ast_ssl_init(void)
 {
 #if defined(HAVE_OPENSSL) && defined(OPENSSL_VERSION_NUMBER) && \
-       OPENSSL_VERSION_NUMBER < 0x10100000L
+       (OPENSSL_VERSION_NUMBER < 0x10100000L || defined(LIBRESSL_VERSION_NUMBER))
        unsigned int i;
        int (*real_SSL_library_init)(void);
        void (*real_CRYPTO_set_id_callback)(unsigned long (*)(void));