From abec19eca0be05f3455cc11a12c74de49080eb1f Mon Sep 17 00:00:00 2001 From: John Date: Sat, 12 Feb 2022 15:43:49 +0100 Subject: [PATCH] backwards compatibility --- make_debian.sh | 2 +- src/lib/utils/httpclient.cpp | 14 ++++++++++++++ 2 files changed, 15 insertions(+), 1 deletion(-) diff --git a/make_debian.sh b/make_debian.sh index 1d866536..fc13e014 100755 --- a/make_debian.sh +++ b/make_debian.sh @@ -82,7 +82,7 @@ else fi ldd $RELEASE/usr/bin/ebusd | egrep -q libssl.so.1.1 if [ $? -eq 0 ]; then - extralibs="$extralibs, libssl1.1 (>= 1.1.1)" + extralibs="$extralibs, libssl1.1 (>= 1.1.0)" fi if [ -n "$RUNTEST" ]; then diff --git a/src/lib/utils/httpclient.cpp b/src/lib/utils/httpclient.cpp index 81d2b355..b78815c7 100755 --- a/src/lib/utils/httpclient.cpp +++ b/src/lib/utils/httpclient.cpp @@ -76,11 +76,18 @@ SSLSocket::~SSLSocket() { ssize_t SSLSocket::send(const char* data, size_t len) { do { +#if OPENSSL_VERSION_NUMBER >= 0x10101000L size_t part = 0; int res = BIO_write_ex(m_bio, data, len, &part); if (res == 1) { return static_cast(part); } +#else + int res = BIO_write(m_bio, data, static_cast(len)); + if (res > 0) { + return static_cast(res); + } +#endif if (!BIO_should_retry(m_bio)) { if (isError("send", true)) { return -1; @@ -94,11 +101,18 @@ ssize_t SSLSocket::send(const char* data, size_t len) { ssize_t SSLSocket::recv(char* data, size_t len) { do { +#if OPENSSL_VERSION_NUMBER >= 0x10101000L size_t part = 0; int res = BIO_read_ex(m_bio, data, len, &part); if (res == 1) { return static_cast(part); } +#else + int res = BIO_read(m_bio, data, static_cast(len)); + if (res > 0) { + return static_cast(res); + } +#endif if (!BIO_should_retry(m_bio)) { if (isError("recv", true)) { return -1;