summaryrefslogtreecommitdiff
path: root/methods
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 /methods
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.
Diffstat (limited to 'methods')
-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;