Skip to content

schannel_recv treats no bytes available as end-of-stream #244

@chris-araman

Description

@chris-araman

A recent change caused a regression in the behavior of schannel_recv.

Previously, when no more data was available to read, schannel_recv would return -1. After this change, schannel_recv returns 0:
https://sourceforge.net/p/curl/bugs/1462/

This in turn changes the behavior of curl_easy_recv. It used to return CURLE_AGAIN in this scenario, but now returns CURLE_OK and 0 bytes received, as if we've reached the end of the stream.

This in turn causes HTTPS requests to fail intermittently on Windows with errors like CURLE_GOT_NOTHING.

The behavior is reproducible with libcurl 7.42.1.

Metadata

Metadata

Assignees

Labels

No labels
No labels

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions