diff options
| author | Julian Andres Klode <julian.klode@canonical.com> | 2025-01-08 19:13:37 +0100 |
|---|---|---|
| committer | Julian Andres Klode <julian.klode@canonical.com> | 2025-01-08 19:22:34 +0100 |
| commit | a8be42ef4de786b4dacdc175419df92ab0193ed9 (patch) | |
| tree | cfe66fce4d2296b3fcb146de9d6d8e415d6cf299 /methods/connect.cc | |
| parent | eb1adc417b0f3c626c545d195e900d1369c751f0 (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/connect.cc')
| -rw-r--r-- | methods/connect.cc | 1 |
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; |
