From a73b65431b755aec1f007d11feccd017cc04af6c Mon Sep 17 00:00:00 2001 From: Andrew Nelless Date: Fri, 5 May 2017 01:27:25 +0100 Subject: [PATCH] Fix showSecureCipherInfo() to build with OpenSSL 1.1.0 --- src/lib/net/SecureSocket.cpp | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/src/lib/net/SecureSocket.cpp b/src/lib/net/SecureSocket.cpp index 843c24c2..c190750b 100644 --- a/src/lib/net/SecureSocket.cpp +++ b/src/lib/net/SecureSocket.cpp @@ -805,10 +805,15 @@ SecureSocket::showSecureCipherInfo() showCipherStackDesc(sStack); } - // m_ssl->m_ssl->session->ciphers is not forward compatable, In future release - // of OpenSSL, it's not visible, need to use SSL_get_client_ciphers() instead +#if OPENSSL_VERSION_NUMBER < 0x10100000L + // m_ssl->m_ssl->session->ciphers is not forward compatable, + // In future release of OpenSSL, it's not visible, STACK_OF(SSL_CIPHER) * cStack = m_ssl->m_ssl->session->ciphers; - if (cStack == NULL) { +#else + // Use SSL_get_client_ciphers() for newer versions + STACK_OF(SSL_CIPHER) * cStack = SSL_get_client_ciphers(m_ssl->m_ssl); +#endif + if (cStack == NULL) { LOG((CLOG_DEBUG1 "remote cipher list not available")); } else {