mirror of
https://github.com/znc/znc.git
synced 2026-08-06 08:52:57 +02:00
Fix compile errors caused by OpenSSL 1.1
This commit is contained in:
+8
-8
@@ -25,6 +25,12 @@
|
||||
#include <znc/User.h>
|
||||
#include <znc/IRCNetwork.h>
|
||||
|
||||
#if !defined(OPENSSL_VERSION_NUMBER) || defined(LIBRESSL_VERSION_NUMBER) || OPENSSL_VERSION_NUMBER < 0x10100007
|
||||
/* SSL_SESSION was made opaque in OpenSSL 1.1.0, cipher accessor was added 2 weeks before the public release.
|
||||
See openssl/openssl@e92813234318635639dba0168c7ef5568757449b. */
|
||||
# define SSL_SESSION_get0_cipher(pSession) ((pSession)->cipher)
|
||||
#endif
|
||||
|
||||
using std::pair;
|
||||
using std::stringstream;
|
||||
using std::map;
|
||||
@@ -226,9 +232,7 @@ public:
|
||||
Table.SetCell("Host", pSock->GetRemoteIP());
|
||||
Table.SetCell("Port", CString(pSock->GetRemotePort()));
|
||||
SSL_SESSION *pSession = pSock->GetSSLSession();
|
||||
if (pSession && pSession->cipher && pSession->cipher->name)
|
||||
Table.SetCell("Cipher", pSession->cipher->name);
|
||||
|
||||
Table.SetCell("Cipher", SSL_CIPHER_get_name(pSession ? SSL_SESSION_get0_cipher(pSession) : NULL));
|
||||
} else {
|
||||
Table.SetCell("Status", "Waiting");
|
||||
Table.SetCell("Port", CString(pSock->GetLocalPort()));
|
||||
@@ -286,11 +290,7 @@ public:
|
||||
Table.SetCell("RemoteIP:Port", pSock->GetRemoteIP() + ":" +
|
||||
CString(pSock->GetRemotePort()));
|
||||
SSL_SESSION *pSession = pSock->GetSSLSession();
|
||||
if (pSession && pSession->cipher && pSession->cipher->name)
|
||||
Table.SetCell("Cipher", pSession->cipher->name);
|
||||
else
|
||||
Table.SetCell("Cipher", "None");
|
||||
|
||||
Table.SetCell("Cipher", SSL_CIPHER_get_name(pSession ? SSL_SESSION_get0_cipher(pSession) : NULL));
|
||||
} else {
|
||||
Table.SetCell("Type", "Listener");
|
||||
Table.SetCell("LocalIP:Port", pSock->GetLocalIP() +
|
||||
|
||||
+9
-1
@@ -17,7 +17,15 @@
|
||||
#include <znc/znc.h>
|
||||
#include <signal.h>
|
||||
|
||||
#if defined(HAVE_LIBSSL) && defined(HAVE_PTHREAD)
|
||||
#if defined(HAVE_LIBSSL) && defined(HAVE_PTHREAD) && ( !defined(OPENSSL_VERSION_NUMBER) || OPENSSL_VERSION_NUMBER < 0x10100004 )
|
||||
/* Starting with version 1.1.0-pre4, OpenSSL has a new threading implementation that doesn't need locking callbacks.
|
||||
"OpenSSL now uses a new threading API. It is no longer necessary to
|
||||
set locking callbacks to use OpenSSL in a multi-threaded environment. There
|
||||
are two supported threading models: pthreads and windows threads. It is
|
||||
also possible to configure OpenSSL at compile time for "no-threads". The
|
||||
old threading API should no longer be used. The functions have been
|
||||
replaced with "no-op" compatibility macros."
|
||||
See openssl/openssl@2e52e7df518d80188c865ea3f7bb3526d14b0c08. */
|
||||
#include <znc/Threads.h>
|
||||
#include <openssl/crypto.h>
|
||||
#include <memory>
|
||||
|
||||
Reference in New Issue
Block a user