mirror of
https://codeberg.org/anoncontributorxmr/monero.git
synced 2024-11-26 09:24:47 +00:00
epee: use boost type for SSL error code
Fixes compile error when building with OpenSSL v1.1: contrib/epee/include/net/net_helper.h: In member function ‘void epee::net_utils::blocked_mode_client::shutdown_ssl()’: contrib/epee/include/net/net_helper.h:579:106: error: ‘SSL_R_SHORT_READ’ was not declared in this scope if (ec.category() == boost::asio::error::get_ssl_category() && ec.value() != ERR_PACK(ERR_LIB_SSL, 0, SSL_R_SHORT_READ)) ^ contrib/epee/include/net/net_helper.h:579:106: note: suggested alternative: ‘SSL_F_SSL_READ’ See boost/asio/ssl/error.hpp. Boost handles differences between OpenSSL versions. cmake: fail if Boost is too old for OpenSSL v1.1
This commit is contained in:
parent
8d511f3c24
commit
29497f7920
2 changed files with 14 additions and 1 deletions
|
@ -658,6 +658,11 @@ if(NOT Boost_FOUND)
|
||||||
die("Could not find Boost libraries, please make sure you have installed Boost or libboost-all-dev (1.58) or the equivalent")
|
die("Could not find Boost libraries, please make sure you have installed Boost or libboost-all-dev (1.58) or the equivalent")
|
||||||
elseif(Boost_FOUND)
|
elseif(Boost_FOUND)
|
||||||
message(STATUS "Found Boost Version: ${Boost_VERSION}")
|
message(STATUS "Found Boost Version: ${Boost_VERSION}")
|
||||||
|
if (Boost_VERSION VERSION_LESS 1.62 AND NOT (OPENSSL_VERSION VERSION_LESS 1.1))
|
||||||
|
message(FATAL_ERROR "Boost older than 1.62 is too old to link with OpenSSL 1.1 or newer. "
|
||||||
|
"Update Boost or install OpenSSL 1.0 and set path to it when running cmake: "
|
||||||
|
"cmake -DOPENSSL_ROOT_DIR='/usr/include/openssl-1.0;/usr/lib/openssl-1.0'")
|
||||||
|
endif()
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
include_directories(SYSTEM ${Boost_INCLUDE_DIRS})
|
include_directories(SYSTEM ${Boost_INCLUDE_DIRS})
|
||||||
|
|
|
@ -36,6 +36,7 @@
|
||||||
#include <istream>
|
#include <istream>
|
||||||
#include <ostream>
|
#include <ostream>
|
||||||
#include <string>
|
#include <string>
|
||||||
|
#include <boost/version.hpp>
|
||||||
#include <boost/asio.hpp>
|
#include <boost/asio.hpp>
|
||||||
#include <boost/asio/ssl.hpp>
|
#include <boost/asio/ssl.hpp>
|
||||||
#include <boost/asio/steady_timer.hpp>
|
#include <boost/asio/steady_timer.hpp>
|
||||||
|
@ -576,7 +577,14 @@ namespace net_utils
|
||||||
m_io_service.run_one();
|
m_io_service.run_one();
|
||||||
}
|
}
|
||||||
// Ignore "short read" error
|
// Ignore "short read" error
|
||||||
if (ec.category() == boost::asio::error::get_ssl_category() && ec.value() != ERR_PACK(ERR_LIB_SSL, 0, SSL_R_SHORT_READ))
|
if (ec.category() == boost::asio::error::get_ssl_category() &&
|
||||||
|
ec.value() !=
|
||||||
|
#if BOOST_VERSION >= 106200
|
||||||
|
boost::asio::ssl::error::stream_truncated
|
||||||
|
#else // older Boost supports only OpenSSL 1.0, so 1.0-only macros are appropriate
|
||||||
|
ERR_PACK(ERR_LIB_SSL, 0, SSL_R_SHORT_READ)
|
||||||
|
#endif
|
||||||
|
)
|
||||||
MDEBUG("Problems at ssl shutdown: " << ec.message());
|
MDEBUG("Problems at ssl shutdown: " << ec.message());
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue