curl/tests/libtest
Jay Satiro b4b6e4f1fa curl_setup: Disable by default recv-before-send in Windows
Prior to this change a workaround for Windows to recv before every send
was enabled by default. The way it works is a recv is called before
every send and saves the received data, in case send fails because in
Windows apparently that can wipe out the socket's internal received
data buffer.

This feature has led to several bugs because the way libcurl operates
it waits on a socket to read or to write, and may not at all times
check for buffered receive data.

Two recent significant bugs this workaround caused:
- Broken Schannel TLS 1.3 connections (#9431)
- HTTP/2 arbitrary hangs (#10253)

The actual code remains though it is disabled by default. Though future
changes to connection filter buffering could improve the situation IMO
it's just not tenable to manage this workaround.

Ref: https://github.com/curl/curl/issues/657
Ref: https://github.com/curl/curl/pull/668
Ref: https://github.com/curl/curl/pull/720

Ref: https://github.com/curl/curl/issues/9431
Ref: https://github.com/curl/curl/issues/10253

Closes https://github.com/curl/curl/pull/10409
2023-02-09 01:30:10 -05:00
..
.checksrc checksrc: ban gmtime/localtime 2020-07-28 23:51:17 +02:00
.gitignore copyright: update all copyright lines and remove year ranges 2023-01-03 09:19:21 +01:00
chkdecimalpoint.c copyright: update all copyright lines and remove year ranges 2023-01-03 09:19:21 +01:00
chkhostname.c copyright: update all copyright lines and remove year ranges 2023-01-03 09:19:21 +01:00
CMakeLists.txt copyright: update all copyright lines and remove year ranges 2023-01-03 09:19:21 +01:00
first.c copyright: update all copyright lines and remove year ranges 2023-01-03 09:19:21 +01:00
lib500.c copyright: update all copyright lines and remove year ranges 2023-01-03 09:19:21 +01:00
lib501.c copyright: update all copyright lines and remove year ranges 2023-01-03 09:19:21 +01:00
lib502.c copyright: update all copyright lines and remove year ranges 2023-01-03 09:19:21 +01:00
lib503.c copyright: update all copyright lines and remove year ranges 2023-01-03 09:19:21 +01:00
lib504.c copyright: update all copyright lines and remove year ranges 2023-01-03 09:19:21 +01:00
lib505.c copyright: update all copyright lines and remove year ranges 2023-01-03 09:19:21 +01:00
lib506.c copyright: update all copyright lines and remove year ranges 2023-01-03 09:19:21 +01:00
lib507.c copyright: update all copyright lines and remove year ranges 2023-01-03 09:19:21 +01:00
lib508.c copyright: update all copyright lines and remove year ranges 2023-01-03 09:19:21 +01:00
lib509.c copyright: update all copyright lines and remove year ranges 2023-01-03 09:19:21 +01:00
lib510.c copyright: update all copyright lines and remove year ranges 2023-01-03 09:19:21 +01:00
lib511.c copyright: update all copyright lines and remove year ranges 2023-01-03 09:19:21 +01:00
lib512.c copyright: update all copyright lines and remove year ranges 2023-01-03 09:19:21 +01:00
lib513.c copyright: update all copyright lines and remove year ranges 2023-01-03 09:19:21 +01:00
lib514.c copyright: update all copyright lines and remove year ranges 2023-01-03 09:19:21 +01:00
lib515.c copyright: update all copyright lines and remove year ranges 2023-01-03 09:19:21 +01:00
lib516.c copyright: update all copyright lines and remove year ranges 2023-01-03 09:19:21 +01:00
lib517.c copyright: update all copyright lines and remove year ranges 2023-01-03 09:19:21 +01:00
lib518.c copyright: update all copyright lines and remove year ranges 2023-01-03 09:19:21 +01:00
lib519.c copyright: update all copyright lines and remove year ranges 2023-01-03 09:19:21 +01:00
lib520.c copyright: update all copyright lines and remove year ranges 2023-01-03 09:19:21 +01:00
lib521.c copyright: update all copyright lines and remove year ranges 2023-01-03 09:19:21 +01:00
lib523.c copyright: update all copyright lines and remove year ranges 2023-01-03 09:19:21 +01:00
lib524.c copyright: update all copyright lines and remove year ranges 2023-01-03 09:19:21 +01:00
lib525.c copyright: update all copyright lines and remove year ranges 2023-01-03 09:19:21 +01:00
lib526.c copyright: update all copyright lines and remove year ranges 2023-01-03 09:19:21 +01:00
lib530.c copyright: update all copyright lines and remove year ranges 2023-01-03 09:19:21 +01:00
lib533.c copyright: update all copyright lines and remove year ranges 2023-01-03 09:19:21 +01:00
lib537.c copyright: update all copyright lines and remove year ranges 2023-01-03 09:19:21 +01:00
lib539.c copyright: update all copyright lines and remove year ranges 2023-01-03 09:19:21 +01:00
lib540.c copyright: update all copyright lines and remove year ranges 2023-01-03 09:19:21 +01:00
lib541.c copyright: update all copyright lines and remove year ranges 2023-01-03 09:19:21 +01:00
lib542.c copyright: update all copyright lines and remove year ranges 2023-01-03 09:19:21 +01:00
lib543.c copyright: update all copyright lines and remove year ranges 2023-01-03 09:19:21 +01:00
lib544.c copyright: update all copyright lines and remove year ranges 2023-01-03 09:19:21 +01:00
lib547.c copyright: update all copyright lines and remove year ranges 2023-01-03 09:19:21 +01:00
lib549.c copyright: update all copyright lines and remove year ranges 2023-01-03 09:19:21 +01:00
lib552.c copyright: update all copyright lines and remove year ranges 2023-01-03 09:19:21 +01:00
lib553.c copyright: update all copyright lines and remove year ranges 2023-01-03 09:19:21 +01:00
lib554.c copyright: update all copyright lines and remove year ranges 2023-01-03 09:19:21 +01:00
lib555.c copyright: update all copyright lines and remove year ranges 2023-01-03 09:19:21 +01:00
lib556.c copyright: update all copyright lines and remove year ranges 2023-01-03 09:19:21 +01:00
lib557.c copyright: update all copyright lines and remove year ranges 2023-01-03 09:19:21 +01:00
lib558.c copyright: update all copyright lines and remove year ranges 2023-01-03 09:19:21 +01:00
lib559.c copyright: update all copyright lines and remove year ranges 2023-01-03 09:19:21 +01:00
lib560.c copyright: update all copyright lines and remove year ranges 2023-01-03 09:19:21 +01:00
lib562.c copyright: update all copyright lines and remove year ranges 2023-01-03 09:19:21 +01:00
lib564.c copyright: update all copyright lines and remove year ranges 2023-01-03 09:19:21 +01:00
lib566.c copyright: update all copyright lines and remove year ranges 2023-01-03 09:19:21 +01:00
lib567.c copyright: update all copyright lines and remove year ranges 2023-01-03 09:19:21 +01:00
lib568.c copyright: update all copyright lines and remove year ranges 2023-01-03 09:19:21 +01:00
lib569.c copyright: update all copyright lines and remove year ranges 2023-01-03 09:19:21 +01:00
lib570.c copyright: update all copyright lines and remove year ranges 2023-01-03 09:19:21 +01:00
lib571.c copyright: update all copyright lines and remove year ranges 2023-01-03 09:19:21 +01:00
lib572.c copyright: update all copyright lines and remove year ranges 2023-01-03 09:19:21 +01:00
lib573.c copyright: update all copyright lines and remove year ranges 2023-01-03 09:19:21 +01:00
lib574.c copyright: update all copyright lines and remove year ranges 2023-01-03 09:19:21 +01:00
lib575.c copyright: update all copyright lines and remove year ranges 2023-01-03 09:19:21 +01:00
lib576.c copyright: update all copyright lines and remove year ranges 2023-01-03 09:19:21 +01:00
lib578.c copyright: update all copyright lines and remove year ranges 2023-01-03 09:19:21 +01:00
lib579.c copyright: update all copyright lines and remove year ranges 2023-01-03 09:19:21 +01:00
lib582.c copyright: update all copyright lines and remove year ranges 2023-01-03 09:19:21 +01:00
lib583.c copyright: update all copyright lines and remove year ranges 2023-01-03 09:19:21 +01:00
lib586.c copyright: update all copyright lines and remove year ranges 2023-01-03 09:19:21 +01:00
lib589.c copyright: update all copyright lines and remove year ranges 2023-01-03 09:19:21 +01:00
lib590.c copyright: update all copyright lines and remove year ranges 2023-01-03 09:19:21 +01:00
lib591.c copyright: update all copyright lines and remove year ranges 2023-01-03 09:19:21 +01:00
lib597.c copyright: update all copyright lines and remove year ranges 2023-01-03 09:19:21 +01:00
lib598.c copyright: update all copyright lines and remove year ranges 2023-01-03 09:19:21 +01:00
lib599.c copyright: update all copyright lines and remove year ranges 2023-01-03 09:19:21 +01:00
lib643.c copyright: update all copyright lines and remove year ranges 2023-01-03 09:19:21 +01:00
lib650.c copyright: update all copyright lines and remove year ranges 2023-01-03 09:19:21 +01:00
lib651.c copyright: update all copyright lines and remove year ranges 2023-01-03 09:19:21 +01:00
lib652.c copyright: update all copyright lines and remove year ranges 2023-01-03 09:19:21 +01:00
lib653.c copyright: update all copyright lines and remove year ranges 2023-01-03 09:19:21 +01:00
lib654.c copyright: update all copyright lines and remove year ranges 2023-01-03 09:19:21 +01:00
lib655.c copyright: update all copyright lines and remove year ranges 2023-01-03 09:19:21 +01:00
lib658.c copyright: update all copyright lines and remove year ranges 2023-01-03 09:19:21 +01:00
lib659.c copyright: update all copyright lines and remove year ranges 2023-01-03 09:19:21 +01:00
lib661.c copyright: update all copyright lines and remove year ranges 2023-01-03 09:19:21 +01:00
lib666.c copyright: update all copyright lines and remove year ranges 2023-01-03 09:19:21 +01:00
lib667.c copyright: update all copyright lines and remove year ranges 2023-01-03 09:19:21 +01:00
lib668.c copyright: update all copyright lines and remove year ranges 2023-01-03 09:19:21 +01:00
lib670.c copyright: update all copyright lines and remove year ranges 2023-01-03 09:19:21 +01:00
lib674.c copyright: update all copyright lines and remove year ranges 2023-01-03 09:19:21 +01:00
lib676.c copyright: update all copyright lines and remove year ranges 2023-01-03 09:19:21 +01:00
lib677.c copyright: update all copyright lines and remove year ranges 2023-01-03 09:19:21 +01:00
lib678.c copyright: update all copyright lines and remove year ranges 2023-01-03 09:19:21 +01:00
lib1156.c copyright: update all copyright lines and remove year ranges 2023-01-03 09:19:21 +01:00
lib1301.c copyright: update all copyright lines and remove year ranges 2023-01-03 09:19:21 +01:00
lib1500.c copyright: update all copyright lines and remove year ranges 2023-01-03 09:19:21 +01:00
lib1501.c copyright: update all copyright lines and remove year ranges 2023-01-03 09:19:21 +01:00
lib1502.c copyright: update all copyright lines and remove year ranges 2023-01-03 09:19:21 +01:00
lib1506.c copyright: update all copyright lines and remove year ranges 2023-01-03 09:19:21 +01:00
lib1507.c copyright: update all copyright lines and remove year ranges 2023-01-03 09:19:21 +01:00
lib1508.c copyright: update all copyright lines and remove year ranges 2023-01-03 09:19:21 +01:00
lib1509.c copyright: update all copyright lines and remove year ranges 2023-01-03 09:19:21 +01:00
lib1510.c copyright: update all copyright lines and remove year ranges 2023-01-03 09:19:21 +01:00
lib1511.c copyright: update all copyright lines and remove year ranges 2023-01-03 09:19:21 +01:00
lib1512.c copyright: update all copyright lines and remove year ranges 2023-01-03 09:19:21 +01:00
lib1513.c copyright: update all copyright lines and remove year ranges 2023-01-03 09:19:21 +01:00
lib1514.c copyright: update all copyright lines and remove year ranges 2023-01-03 09:19:21 +01:00
lib1515.c libtest: add a sleep macro for Windows 2023-02-05 03:15:07 -05:00
lib1517.c curl_setup: Disable by default recv-before-send in Windows 2023-02-09 01:30:10 -05:00
lib1518.c copyright: update all copyright lines and remove year ranges 2023-01-03 09:19:21 +01:00
lib1520.c copyright: update all copyright lines and remove year ranges 2023-01-03 09:19:21 +01:00
lib1522.c copyright: update all copyright lines and remove year ranges 2023-01-03 09:19:21 +01:00
lib1523.c copyright: update all copyright lines and remove year ranges 2023-01-03 09:19:21 +01:00
lib1525.c copyright: update all copyright lines and remove year ranges 2023-01-03 09:19:21 +01:00
lib1526.c copyright: update all copyright lines and remove year ranges 2023-01-03 09:19:21 +01:00
lib1527.c copyright: update all copyright lines and remove year ranges 2023-01-03 09:19:21 +01:00
lib1528.c copyright: update all copyright lines and remove year ranges 2023-01-03 09:19:21 +01:00
lib1529.c copyright: update all copyright lines and remove year ranges 2023-01-03 09:19:21 +01:00
lib1530.c copyright: update all copyright lines and remove year ranges 2023-01-03 09:19:21 +01:00
lib1531.c copyright: update all copyright lines and remove year ranges 2023-01-03 09:19:21 +01:00
lib1532.c copyright: update all copyright lines and remove year ranges 2023-01-03 09:19:21 +01:00
lib1533.c copyright: update all copyright lines and remove year ranges 2023-01-03 09:19:21 +01:00
lib1534.c copyright: update all copyright lines and remove year ranges 2023-01-03 09:19:21 +01:00
lib1535.c copyright: update all copyright lines and remove year ranges 2023-01-03 09:19:21 +01:00
lib1536.c copyright: update all copyright lines and remove year ranges 2023-01-03 09:19:21 +01:00
lib1537.c copyright: update all copyright lines and remove year ranges 2023-01-03 09:19:21 +01:00
lib1538.c copyright: update all copyright lines and remove year ranges 2023-01-03 09:19:21 +01:00
lib1540.c copyright: update all copyright lines and remove year ranges 2023-01-03 09:19:21 +01:00
lib1541.c copyright: update all copyright lines and remove year ranges 2023-01-03 09:19:21 +01:00
lib1542.c libtest: add a sleep macro for Windows 2023-02-05 03:15:07 -05:00
lib1550.c copyright: update all copyright lines and remove year ranges 2023-01-03 09:19:21 +01:00
lib1551.c copyright: update all copyright lines and remove year ranges 2023-01-03 09:19:21 +01:00
lib1552.c copyright: update all copyright lines and remove year ranges 2023-01-03 09:19:21 +01:00
lib1553.c copyright: update all copyright lines and remove year ranges 2023-01-03 09:19:21 +01:00
lib1554.c copyright: update all copyright lines and remove year ranges 2023-01-03 09:19:21 +01:00
lib1555.c copyright: update all copyright lines and remove year ranges 2023-01-03 09:19:21 +01:00
lib1556.c copyright: update all copyright lines and remove year ranges 2023-01-03 09:19:21 +01:00
lib1557.c copyright: update all copyright lines and remove year ranges 2023-01-03 09:19:21 +01:00
lib1558.c copyright: update all copyright lines and remove year ranges 2023-01-03 09:19:21 +01:00
lib1559.c copyright: update all copyright lines and remove year ranges 2023-01-03 09:19:21 +01:00
lib1560.c copyright: update all copyright lines and remove year ranges 2023-01-03 09:19:21 +01:00
lib1564.c copyright: update all copyright lines and remove year ranges 2023-01-03 09:19:21 +01:00
lib1565.c copyright: update all copyright lines and remove year ranges 2023-01-03 09:19:21 +01:00
lib1567.c copyright: update all copyright lines and remove year ranges 2023-01-03 09:19:21 +01:00
lib1568.c copyright: update all copyright lines and remove year ranges 2023-01-03 09:19:21 +01:00
lib1569.c copyright: update all copyright lines and remove year ranges 2023-01-03 09:19:21 +01:00
lib1591.c copyright: update all copyright lines and remove year ranges 2023-01-03 09:19:21 +01:00
lib1592.c copyright: update all copyright lines and remove year ranges 2023-01-03 09:19:21 +01:00
lib1593.c copyright: update all copyright lines and remove year ranges 2023-01-03 09:19:21 +01:00
lib1594.c copyright: update all copyright lines and remove year ranges 2023-01-03 09:19:21 +01:00
lib1597.c copyright: update all copyright lines and remove year ranges 2023-01-03 09:19:21 +01:00
lib1662.c copyright: update all copyright lines and remove year ranges 2023-01-03 09:19:21 +01:00
lib1900.c copyright: update all copyright lines and remove year ranges 2023-01-03 09:19:21 +01:00
lib1905.c copyright: update all copyright lines and remove year ranges 2023-01-03 09:19:21 +01:00
lib1906.c copyright: update all copyright lines and remove year ranges 2023-01-03 09:19:21 +01:00
lib1907.c copyright: update all copyright lines and remove year ranges 2023-01-03 09:19:21 +01:00
lib1908.c copyright: update all copyright lines and remove year ranges 2023-01-03 09:19:21 +01:00
lib1910.c copyright: update all copyright lines and remove year ranges 2023-01-03 09:19:21 +01:00
lib1911.c copyright: update all copyright lines and remove year ranges 2023-01-03 09:19:21 +01:00
lib1912.c copyright: update all copyright lines and remove year ranges 2023-01-03 09:19:21 +01:00
lib1913.c copyright: update all copyright lines and remove year ranges 2023-01-03 09:19:21 +01:00
lib1915.c copyright: update all copyright lines and remove year ranges 2023-01-03 09:19:21 +01:00
lib1916.c copyright: update all copyright lines and remove year ranges 2023-01-03 09:19:21 +01:00
lib1918.c copyright: update all copyright lines and remove year ranges 2023-01-03 09:19:21 +01:00
lib1919.c copyright: update all copyright lines and remove year ranges 2023-01-03 09:19:21 +01:00
lib1933.c copyright: update all copyright lines and remove year ranges 2023-01-03 09:19:21 +01:00
lib1934.c copyright: update all copyright lines and remove year ranges 2023-01-03 09:19:21 +01:00
lib1935.c copyright: update all copyright lines and remove year ranges 2023-01-03 09:19:21 +01:00
lib1936.c copyright: update all copyright lines and remove year ranges 2023-01-03 09:19:21 +01:00
lib1937.c copyright: update all copyright lines and remove year ranges 2023-01-03 09:19:21 +01:00
lib1938.c copyright: update all copyright lines and remove year ranges 2023-01-03 09:19:21 +01:00
lib1939.c copyright: update all copyright lines and remove year ranges 2023-01-03 09:19:21 +01:00
lib1940.c copyright: update all copyright lines and remove year ranges 2023-01-03 09:19:21 +01:00
lib1945.c copyright: update all copyright lines and remove year ranges 2023-01-03 09:19:21 +01:00
lib1947.c copyright: update all copyright lines and remove year ranges 2023-01-03 09:19:21 +01:00
lib1948.c copyright: update all copyright lines and remove year ranges 2023-01-03 09:19:21 +01:00
lib1955.c copyright: update all copyright lines and remove year ranges 2023-01-03 09:19:21 +01:00
lib1956.c copyright: update all copyright lines and remove year ranges 2023-01-03 09:19:21 +01:00
lib1957.c copyright: update all copyright lines and remove year ranges 2023-01-03 09:19:21 +01:00
lib1958.c copyright: update all copyright lines and remove year ranges 2023-01-03 09:19:21 +01:00
lib1959.c copyright: update all copyright lines and remove year ranges 2023-01-03 09:19:21 +01:00
lib2301.c copyright: update all copyright lines and remove year ranges 2023-01-03 09:19:21 +01:00
lib2302.c copyright: update all copyright lines and remove year ranges 2023-01-03 09:19:21 +01:00
lib2304.c copyright: update all copyright lines and remove year ranges 2023-01-03 09:19:21 +01:00
lib2402.c misc: fix spelling 2023-02-08 08:30:05 +01:00
lib2502.c misc: fix spelling 2023-02-08 08:30:05 +01:00
lib3010.c copyright: update all copyright lines and remove year ranges 2023-01-03 09:19:21 +01:00
lib3025.c copyright: update all copyright lines and remove year ranges 2023-01-03 09:19:21 +01:00
lib3026.c copyright: update all copyright lines and remove year ranges 2023-01-03 09:19:21 +01:00
lib3027.c copyright: update all copyright lines and remove year ranges 2023-01-03 09:19:21 +01:00
lib3100.c copyright: update all copyright lines and remove year ranges 2023-01-03 09:19:21 +01:00
lib3101.c copyright: update all copyright lines and remove year ranges 2023-01-03 09:19:21 +01:00
libauthretry.c copyright: update all copyright lines and remove year ranges 2023-01-03 09:19:21 +01:00
libntlmconnect.c copyright: update all copyright lines and remove year ranges 2023-01-03 09:19:21 +01:00
libprereq.c copyright: update all copyright lines and remove year ranges 2023-01-03 09:19:21 +01:00
Makefile.am copyright: update all copyright lines and remove year ranges 2023-01-03 09:19:21 +01:00
Makefile.inc copyright: update all copyright lines and remove year ranges 2023-01-03 09:19:21 +01:00
mk-lib1521.pl copyright: update all copyright lines and remove year ranges 2023-01-03 09:19:21 +01:00
notexists.pl copyright: update all copyright lines and remove year ranges 2023-01-03 09:19:21 +01:00
sethostname.c copyright: update all copyright lines and remove year ranges 2023-01-03 09:19:21 +01:00
sethostname.h copyright: update all copyright lines and remove year ranges 2023-01-03 09:19:21 +01:00
stub_gssapi.c copyright: update all copyright lines and remove year ranges 2023-01-03 09:19:21 +01:00
stub_gssapi.h copyright: update all copyright lines and remove year ranges 2023-01-03 09:19:21 +01:00
test307.pl copyright: update all copyright lines and remove year ranges 2023-01-03 09:19:21 +01:00
test610.pl copyright: update all copyright lines and remove year ranges 2023-01-03 09:19:21 +01:00
test613.pl copyright: update all copyright lines and remove year ranges 2023-01-03 09:19:21 +01:00
test1013.pl copyright: update all copyright lines and remove year ranges 2023-01-03 09:19:21 +01:00
test1022.pl copyright: update all copyright lines and remove year ranges 2023-01-03 09:19:21 +01:00
test.h libtest: add a sleep macro for Windows 2023-02-05 03:15:07 -05:00
testtrace.c copyright: update all copyright lines and remove year ranges 2023-01-03 09:19:21 +01:00
testtrace.h copyright: update all copyright lines and remove year ranges 2023-01-03 09:19:21 +01:00
testutil.c copyright: update all copyright lines and remove year ranges 2023-01-03 09:19:21 +01:00
testutil.h copyright: update all copyright lines and remove year ranges 2023-01-03 09:19:21 +01:00