mirror of
https://github.com/curl/curl.git
synced 2024-12-27 06:59:43 +08:00
24d6c2889f
- Treat TLS connection close (either due to a close_notify from the server or just closed due to receiving 0) as pending data. This is because in some cases schannel_recv knows the connection is closed but has to return actual pending data so it can't return 0 or an error to indicate no more data. In this case schannel_recv must be called again, which only happens if readwrite_data sees that there is still pending data. Prior to this change if the total size of the body that libcurl expected to receive from the server was unknown then it was possible under some network conditions that libcurl would hang waiting to receive more data, when in fact a close_notify alert indicating no more data would be sent was already processed. Fixes https://github.com/curl/curl/issues/12894 Closes https://github.com/curl/curl/pull/12910 |
||
---|---|---|
.. | ||
bearssl.c | ||
bearssl.h | ||
gtls.c | ||
gtls.h | ||
hostcheck.c | ||
hostcheck.h | ||
keylog.c | ||
keylog.h | ||
mbedtls_threadlock.c | ||
mbedtls_threadlock.h | ||
mbedtls.c | ||
mbedtls.h | ||
openssl.c | ||
openssl.h | ||
rustls.c | ||
rustls.h | ||
schannel_int.h | ||
schannel_verify.c | ||
schannel.c | ||
schannel.h | ||
sectransp.c | ||
sectransp.h | ||
vtls_int.h | ||
vtls.c | ||
vtls.h | ||
wolfssl.c | ||
wolfssl.h | ||
x509asn1.c | ||
x509asn1.h |