← Commit list

ce05754c7c

kpcyrd
kpcyrd
2026-04-10
SUCCESS Duration: 248s

Subject

rustls: handle EOF during initial handshake

Binary

No binary (build failed)

Architecture & Compiler Flags

Architecture: x86_64-linux-gnu Compiler: gcc (Ubuntu 11.4.0-1ubuntu1~22.04.3) 11.4.0

—

Build Log

(log yok)

Commit Diff GitHub →

lib/vtls/rustls.c+8 -1
@@ -1138,6 +1138,7 @@ static CURLcode cr_connect(struct Curl_cfilter *cf, struct Curl_easy *data,
CURLcode result;
bool wants_read;
bool wants_write;
+ ssize_t nread;
DEBUGASSERT(backend);
@@ -1280,7 +1281,13 @@ static CURLcode cr_connect(struct Curl_cfilter *cf, struct Curl_easy *data,
if(wants_read) {
CURL_TRC_CF(data, cf, "rustls_connection wants us to read_tls.");
- if(tls_recv_more(cf, data, &tmperr) < 0) {
+ nread = tls_recv_more(cf, data, &tmperr);
+ if(nread == 0) {
+ connssl->peer_closed = TRUE;
+ failf(data, "TLS connect error: Connection closed abruptly");
+ return CURLE_SSL_CONNECT_ERROR;
+ }
+ if(nread < 0) {
if(tmperr == CURLE_AGAIN) {
CURL_TRC_CF(data, cf, "reading would block");
connssl->io_need = CURL_SSL_IO_NEED_RECV;