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 | |
| 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.
| -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; |
