Skip to content

OpenSSL SSL_write: SSL_ERROR_SYSCALL, errno 0 #15101

Description

@gold22

I did this

Upload of files to an FTP storage via SSL is broken in 8.10.1.

Run code from the file
upload-test.txt

Upload fails with the error code 55

Curl version: 8.10.1
*   Trying 10.69.43.144:21...
* Connected to 10.69.43.144 (10.69.43.144) port 21
< 220 ProFTPD Server (ProFTPD) [10.69.43.144]
> AUTH SSL
< 234 AUTH SSL successful
* TLSv1.3 (OUT), TLS handshake, Client hello (1):
* TLSv1.3 (IN), TLS handshake, Server hello (2):
* TLSv1.3 (IN), TLS handshake, Encrypted Extensions (8):
* TLSv1.3 (IN), TLS handshake, Certificate (11):
* TLSv1.3 (IN), TLS handshake, CERT verify (15):
* TLSv1.3 (IN), TLS handshake, Finished (20):
* TLSv1.3 (OUT), TLS change cipher, Change cipher spec (1):
* TLSv1.3 (OUT), TLS handshake, Finished (20):
* SSL connection using TLSv1.3 / TLS_AES_256_GCM_SHA384 / X25519 / RSASSA-PSS
* Server certificate:
*  subject: C=CH; L=XX; O=XX; CN=XX; emailAddress=xx@xx.xx
*  start date: Sep 29 09:27:53 2024 GMT
*  expire date: Sep 29 09:27:53 2025 GMT
*  issuer: C=CH; L=XX; O=XX; CN=XX; emailAddress=xx@xx.xx
*  SSL certificate verify result: self-signed certificate (18), continuing anyway.
*   Certificate level 0: Public key type RSA (2048/112 Bits/secBits), signed using sha256WithRSAEncryption
* Connected to 10.69.43.144 (10.69.43.144) port 21
> USER ftpuser
* TLSv1.3 (IN), TLS handshake, Newsession Ticket (4):
* TLSv1.3 (IN), TLS handshake, Newsession Ticket (4):
< 331 Password required for ftpuser
> PASS ftppassword
< 230 User ftpuser logged in
> PBSZ 0
< 200 PBSZ 0 successful
> PROT P
< 200 Protection set to Private
> PWD
< 257 "/" is the current directory
* Entry path is '/'
* Request has same path as previous transfer
> EPSV
* Connect data stream passively
< 229 Entering Extended Passive Mode (|||49206|)
* Connecting to 10.69.43.144 (10.69.43.144) port 49206
*   Trying 10.69.43.144:49206...
* SSL reusing session ID
* TLSv1.3 (OUT), TLS handshake, Client hello (1):
> TYPE I
< 200 Type set to I
> STOR test.out
< 150 Opening BINARY mode data connection for test.out
* TLSv1.3 (IN), TLS handshake, Server hello (2):
* TLSv1.3 (IN), TLS handshake, Encrypted Extensions (8):
* TLSv1.3 (IN), TLS handshake, Finished (20):
* TLSv1.3 (OUT), TLS change cipher, Change cipher spec (1):
* TLSv1.3 (OUT), TLS handshake, Finished (20):
* SSL connection using TLSv1.3 / TLS_AES_256_GCM_SHA384 / X25519 / UNDEF
* Server certificate:
*  subject: C=CH; L=XX; O=XX; CN=XX; emailAddress=xx@xx.xx
*  start date: Sep 29 09:27:53 2024 GMT
*  expire date: Sep 29 09:27:53 2025 GMT
*  issuer: C=CH; L=XX; O=XX; CN=XX; emailAddress=xx@xx.xx
*  SSL certificate verify result: self-signed certificate (18), continuing anyway.
* Connected 2nd connection to 10.69.43.144 port 49206
* OpenSSL SSL_write: SSL_ERROR_SYSCALL, errno 0
* closing connection #0
upload failed, code 55 (Failed sending data to the peer).

I expected the following

Upload succeeds

curl/libcurl version

libcurl 8.10.1

operating system

Ubuntu 24.04 x86_64
Microsoft Windows Server 2022 x86_64

Metadata

Metadata

Assignees

Labels

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions