From 17d27a67d94cd515685bd1535db4caa10d2ea1ca Mon Sep 17 00:00:00 2001 From: Adrian Pistol Date: Wed, 24 Oct 2018 21:54:12 +0200 Subject: [PATCH] SecureSocket: Fix LibreSSL support. Weirdly enough, LibreSSL has a high enough version, yet does not feature SSL_get_client_ciphers. --- src/lib/net/SecureSocket.cpp | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/src/lib/net/SecureSocket.cpp b/src/lib/net/SecureSocket.cpp index 43b45e2a9f..b7a64b0221 100644 --- a/src/lib/net/SecureSocket.cpp +++ b/src/lib/net/SecureSocket.cpp @@ -808,12 +808,13 @@ SecureSocket::showSecureCipherInfo() showCipherStackDesc(sStack); } -#if OPENSSL_VERSION_NUMBER < 0x10100000L +#if OPENSSL_VERSION_NUMBER < 0x10100000L || defined(LIBRESSL_VERSION_NUMBER) // m_ssl->m_ssl->session->ciphers is not forward compatable, // In future release of OpenSSL, it's not visible, + // however, LibreSSL still uses this. STACK_OF(SSL_CIPHER) * cStack = m_ssl->m_ssl->session->ciphers; #else - // Use SSL_get_client_ciphers() for newer versions + // Use SSL_get_client_ciphers() for newer versions of OpenSSL. STACK_OF(SSL_CIPHER) * cStack = SSL_get_client_ciphers(m_ssl->m_ssl); #endif if (cStack == NULL) {