summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJulian Andres Klode <julian.klode@canonical.com>2025-01-08 19:13:37 +0100
committerJulian Andres Klode <julian.klode@canonical.com>2025-01-08 19:22:34 +0100
commita8be42ef4de786b4dacdc175419df92ab0193ed9 (patch)
treecfe66fce4d2296b3fcb146de9d6d8e415d6cf299
parenteb1adc417b0f3c626c545d195e900d1369c751f0 (diff)
ssl: Set an error when we receive SSL_ERROR_SYSCALL
The OpenSSL docs say: > For socket I/O on Unix systems, consult errno for details but also: > This value can also be returned for other errors, > check the error queue for details. This means it's possible errno isn't set, in which case we may appear to have reached an EOF when we did not.
-rw-r--r--methods/connect.cc1
1 files changed, 1 insertions, 0 deletions
diff --git a/methods/connect.cc b/methods/connect.cc
index b00e73eb7..c685ac031 100644
--- a/methods/connect.cc
+++ b/methods/connect.cc
@@ -849,6 +849,7 @@ struct TlsFd final : public MethodFd
break;
case SSL_ERROR_SYSCALL:
broken = true;
+ _error->Errno("openssl", "OpenSSL system call error: %s\n", ssl_strerr());
break;
case SSL_ERROR_SSL:
broken = true;