From 8cdcf3145083df05d3548aaedc5c788f41eecc3a Mon Sep 17 00:00:00 2001 From: WolverinDEV Date: Mon, 2 Mar 2020 18:45:52 +0100 Subject: [PATCH] Fixed TeaSpeak for openssl --- src/ssl/SSLManager.cpp | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/src/ssl/SSLManager.cpp b/src/ssl/SSLManager.cpp index 72a7c56..484dd8f 100644 --- a/src/ssl/SSLManager.cpp +++ b/src/ssl/SSLManager.cpp @@ -337,7 +337,15 @@ std::shared_ptr SSLManager::loadContext(std::string &rawKey, std::st const uint8_t* mem_ptr{nullptr}; size_t length{0}; +#ifdef CRYPTO_BORINGSSL if(!BIO_mem_contents(&*bio_private_key, &mem_ptr, &length)) SSL_ERROR("Failed to get mem contents: "); +#else + BUF_MEM memory{}; + if(!BIO_get_mem_ptr(&*bio_private_key, &memory)) SSL_ERROR("Failed to get mem contents: "); + + mem_ptr = (uint8_t*) memory.data; + length = memory.length; +#endif if(!mem_ptr || length < 0) SSL_ERROR("Could not get private key mem pointer/invalid length: "); rawKey.reserve(length); memcpy(rawKey.data(), mem_ptr, length); @@ -354,7 +362,15 @@ std::shared_ptr SSLManager::loadContext(std::string &rawKey, std::st const uint8_t* mem_ptr{nullptr}; size_t length{0}; +#ifdef CRYPTO_BORINGSSL if(!BIO_mem_contents(&*bio_private_key, &mem_ptr, &length)) SSL_ERROR("Failed to get mem contents: "); +#else + BUF_MEM memory{}; + if(!BIO_get_mem_ptr(&*bio_private_key, &memory)) SSL_ERROR("Failed to get mem contents: "); + + mem_ptr = (uint8_t*) memory.data; + length = memory.length; +#endif if(!mem_ptr || length < 0) SSL_ERROR("Could not get cert bio mem pointer/invalid length: "); rawCert.reserve(length); memcpy(rawCert.data(), mem_ptr, length);