summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorcomex <comexk@gmail.com>2023-06-25 16:09:16 -0700
committercomex <comexk@gmail.com>2023-06-25 16:09:16 -0700
commit42015de49b578108a1a82b8df947397d2d123ad4 (patch)
treecc29a637a972783195779ff69bf0e260837bc58f /src
parent4a355699219710d0a9ad620722393b3d9a16d84d (diff)
ssl: fix compatibility with OpenSSL 1.1.1
Turns out changes were needed after all.
Diffstat (limited to 'src')
-rw-r--r--src/core/hle/service/ssl/ssl_backend_openssl.cpp11
1 files changed, 10 insertions, 1 deletions
diff --git a/src/core/hle/service/ssl/ssl_backend_openssl.cpp b/src/core/hle/service/ssl/ssl_backend_openssl.cpp
index edbf0ad3e..bc797b76b 100644
--- a/src/core/hle/service/ssl/ssl_backend_openssl.cpp
+++ b/src/core/hle/service/ssl/ssl_backend_openssl.cpp
@@ -233,8 +233,10 @@ public:
return 1;
case BIO_CTRL_PUSH:
case BIO_CTRL_POP:
+#ifdef BIO_CTRL_GET_KTLS_SEND
case BIO_CTRL_GET_KTLS_SEND:
case BIO_CTRL_GET_KTLS_RECV:
+#endif
// We don't support these operations, but don't bother logging them
// as they're nothing unusual.
return 0;
@@ -269,7 +271,14 @@ Result CheckOpenSSLErrors() {
const char* func;
const char* data;
int flags;
- while ((rc = ERR_get_error_all(&file, &line, &func, &data, &flags))) {
+#if OPENSSL_VERSION_NUMBER >= 0x30000000L
+ while ((rc = ERR_get_error_all(&file, &line, &func, &data, &flags)))
+#else
+ // Can't get function names from OpenSSL on this version, so use mine:
+ func = __func__;
+ while ((rc = ERR_get_error_line_data(&file, &line, &data, &flags)))
+#endif
+ {
std::string msg;
msg.resize(1024, '\0');
ERR_error_string_n(rc, msg.data(), msg.size());