mirror of
https://github.com/znc/znc.git
synced 2026-03-28 17:42:41 +01:00
Fix build with libressl
It got another feature of openssl implemented, which broke this
This commit is contained in:
@@ -82,6 +82,20 @@ endmacro()
|
||||
tristate_option(OPENSSL "Support SSL")
|
||||
if(WANT_OPENSSL)
|
||||
find_package(OpenSSL ${TRISTATE_OPENSSL_REQUIRED})
|
||||
|
||||
if(OPENSSL_FOUND)
|
||||
# SSL_SESSION was made opaque in OpenSSL 1.1.0;
|
||||
# LibreSSL gained that function later too.
|
||||
# TODO: maybe remove this check at some point, and stop supporting old
|
||||
# libssl versions
|
||||
function(check_SSL_SESSION_get0_cipher)
|
||||
set(CMAKE_REQUIRED_LIBRARIES ${OPENSSL_LIBRARIES})
|
||||
set(CMAKE_REQUIRED_INCLUDES ${OPENSSL_INCLUDE_DIR})
|
||||
check_cxx_symbol_exists(SSL_SESSION_get0_cipher openssl/ssl.h
|
||||
HAVE_SSL_SESSION_get0_cipher)
|
||||
endfunction()
|
||||
check_SSL_SESSION_get0_cipher()
|
||||
endif()
|
||||
endif()
|
||||
set(HAVE_LIBSSL "${OPENSSL_FOUND}")
|
||||
|
||||
|
||||
@@ -31,6 +31,7 @@
|
||||
#define HAVE_PTHREAD 1
|
||||
#cmakedefine HAVE_THREADED_DNS 1
|
||||
#cmakedefine HAVE_LIBSSL 1
|
||||
#cmakedefine HAVE_SSL_SESSION_get0_cipher 1
|
||||
#cmakedefine HAVE_IPV6 1
|
||||
#cmakedefine HAVE_ZLIB 1
|
||||
#cmakedefine HAVE_I18N 1
|
||||
|
||||
@@ -25,8 +25,7 @@
|
||||
#include <znc/User.h>
|
||||
#include <znc/IRCNetwork.h>
|
||||
|
||||
#if !defined(OPENSSL_VERSION_NUMBER) || defined(LIBRESSL_VERSION_NUMBER) || \
|
||||
OPENSSL_VERSION_NUMBER < 0x10100007
|
||||
#ifndef HAVE_SSL_SESSION_get0_cipher
|
||||
/* SSL_SESSION was made opaque in OpenSSL 1.1.0, cipher accessor was added 2
|
||||
weeks before the public release.
|
||||
See openssl/openssl@e92813234318635639dba0168c7ef5568757449b. */
|
||||
|
||||
Reference in New Issue
Block a user