mirror of
https://github.com/curl/curl.git
synced 2026-05-30 05:17:30 +03:00
KNOW_BUGS: cleanups with some changed to TODOs
- remove "Excessive HTTP/2 packets with TCP_NODELAY" This is not a bug. Rather room for improvement. I believe these have been fixed: - 17.4 Connection failures with parallel HTTP/2 - 17.5 HTTP/2 connections through HTTPS proxy frequently stall - remove "FTPS needs session reuse" That is still true, but curl should also do session reuse now. - remove "ASCII FTP" It is documented behavior, and not single user has asked for extended functionality here the last decade or so. - remove "Passive transfer tries only one IP address" add as a TODO - remove "DoH leaks memory after followlocation" With a recipe on how to reproduce, this is pointless to keep around - remove "DoH does not inherit all transfer options" add it as a TODO Closes #10487
This commit is contained in:
parent
5c9ee8cef4
commit
a6ae169540
2 changed files with 28 additions and 76 deletions
|
|
@ -67,9 +67,6 @@ problems may have been fixed or changed somewhat since this was written.
|
|||
7. FTP
|
||||
7.3 FTP with NOBODY and FAILONERROR
|
||||
7.4 FTP with ACCT
|
||||
7.5 ASCII FTP
|
||||
7.9 Passive transfer tries only one IP address
|
||||
7.10 FTPS needs session reuse
|
||||
7.11 FTPS upload data loss with TLS 1.3
|
||||
7.12 FTPS directory listing hangs on Windows with Schannel
|
||||
|
||||
|
|
@ -88,8 +85,6 @@ problems may have been fixed or changed somewhat since this was written.
|
|||
11.4 HTTP test server 'connection-monitor' problems
|
||||
11.5 Connection information when using TCP Fast Open
|
||||
11.7 signal-based resolver timeouts
|
||||
11.8 DoH leaks memory after followlocation
|
||||
11.9 DoH does not inherit all transfer options
|
||||
11.10 Blocking socket operations in non-blocking API
|
||||
11.11 A shared connection cache is not thread-safe
|
||||
11.15 CURLOPT_OPENSOCKETPAIRFUNCTION is missing
|
||||
|
|
@ -121,11 +116,8 @@ problems may have been fixed or changed somewhat since this was written.
|
|||
16. Applications
|
||||
|
||||
17. HTTP/2
|
||||
17.1 Excessive HTTP/2 packets with TCP_NODELAY
|
||||
17.2 HTTP/2 frames while in the connection pool kill reuse
|
||||
17.3 ENHANCE_YOUR_CALM causes infinite retries
|
||||
17.4 Connection failures with parallel HTTP/2
|
||||
17.5 HTTP/2 connections through HTTPS proxy frequently stall
|
||||
|
||||
18. HTTP/3
|
||||
18.1 If the HTTP/3 server closes connection during upload curl hangs
|
||||
|
|
@ -470,38 +462,6 @@ problems may have been fixed or changed somewhat since this was written.
|
|||
thus fails to issue the correct command:
|
||||
https://curl.se/bug/view.cgi?id=635
|
||||
|
||||
7.5 ASCII FTP
|
||||
|
||||
FTP ASCII transfers do not follow RFC959. They do not convert the data
|
||||
accordingly (not for sending nor for receiving). RFC 959 section 3.1.1.1
|
||||
clearly describes how this should be done:
|
||||
|
||||
The sender converts the data from an internal character representation to
|
||||
the standard 8-bit NVT-ASCII representation (see the Telnet
|
||||
specification). The receiver will convert the data from the standard
|
||||
form to his own internal form.
|
||||
|
||||
Since 7.15.4 at least line endings are converted.
|
||||
|
||||
7.9 Passive transfer tries only one IP address
|
||||
|
||||
When doing FTP operations through a proxy at localhost, the reported spotted
|
||||
that curl only tried to connect once to the proxy, while it had multiple
|
||||
addresses and a failed connect on one address should make it try the next.
|
||||
|
||||
After switching to passive mode (EPSV), curl should try all IP addresses for
|
||||
"localhost". Currently it tries ::1, but it should also try 127.0.0.1.
|
||||
|
||||
See https://github.com/curl/curl/issues/1508
|
||||
|
||||
7.10 FTPS needs session reuse
|
||||
|
||||
When the control connection is reused for a subsequent transfer, some FTPS
|
||||
servers complain about "missing session reuse" for the data channel for the
|
||||
second transfer.
|
||||
|
||||
https://github.com/curl/curl/issues/4654
|
||||
|
||||
7.11 FTPS upload data loss with TLS 1.3
|
||||
|
||||
During FTPS upload curl does not attempt to read TLS handshake messages sent
|
||||
|
|
@ -609,24 +569,6 @@ problems may have been fixed or changed somewhat since this was written.
|
|||
Also, alarm() provides timeout resolution only to the nearest second. alarm
|
||||
ought to be replaced by setitimer on systems that support it.
|
||||
|
||||
11.8 DoH leaks memory after followlocation
|
||||
|
||||
https://github.com/curl/curl/issues/4592
|
||||
|
||||
11.9 DoH does not inherit all transfer options
|
||||
|
||||
Some options are not inherited because they are not relevant for the DoH SSL
|
||||
connections, or inheriting the option may result in unexpected behavior. For
|
||||
example the user's debug function callback is not inherited because it would
|
||||
be unexpected for internal handles (ie DoH handles) to be passed to that
|
||||
callback.
|
||||
|
||||
If an option is not inherited then it is not possible to set it separately for
|
||||
DoH without a DoH-specific option. For example: CURLOPT_DOH_SSL_VERIFYHOST,
|
||||
CURLOPT_DOH_SSL_VERIFYPEER and CURLOPT_DOH_SSL_VERIFYSTATUS.
|
||||
|
||||
See https://github.com/curl/curl/issues/6605
|
||||
|
||||
11.10 Blocking socket operations in non-blocking API
|
||||
|
||||
The list of blocking socket operations is in TODO section "More non-blocking".
|
||||
|
|
@ -779,16 +721,6 @@ problems may have been fixed or changed somewhat since this was written.
|
|||
|
||||
17. HTTP/2
|
||||
|
||||
17.1 Excessive HTTP/2 packets with TCP_NODELAY
|
||||
|
||||
Because of how curl sets TCP_NODELAY by default, HTTP/2 requests are issued
|
||||
using more separate TCP packets than it would otherwise need to use. This
|
||||
means spending more bytes than it has to. Just disabling TCP_NODELAY for
|
||||
HTTP/2 is also not the correct fix because that then makes the outgoing
|
||||
packets to get delayed.
|
||||
|
||||
See https://github.com/curl/curl/issues/6363
|
||||
|
||||
17.2 HTTP/2 frames while in the connection pool kill reuse
|
||||
|
||||
If the server sends HTTP/2 frames (like for example an HTTP/2 PING frame) to
|
||||
|
|
@ -806,14 +738,6 @@ problems may have been fixed or changed somewhat since this was written.
|
|||
|
||||
See https://github.com/curl/curl/issues/5119
|
||||
|
||||
17.4 Connection failures with parallel HTTP/2
|
||||
|
||||
See https://github.com/curl/curl/issues/5611
|
||||
|
||||
17.5 HTTP/2 connections through HTTPS proxy frequently stall
|
||||
|
||||
See https://github.com/curl/curl/issues/6936
|
||||
|
||||
18. HTTP/3
|
||||
|
||||
18.1 If the HTTP/3 server closes connection during upload curl hangs
|
||||
|
|
|
|||
28
docs/TODO
28
docs/TODO
|
|
@ -45,6 +45,7 @@
|
|||
1.30 config file parsing
|
||||
1.31 erase secrets from heap/stack after use
|
||||
1.32 add asynch getaddrinfo support
|
||||
1.33 make DoH inherit more transfer properties
|
||||
|
||||
2. libcurl - multi interface
|
||||
2.1 More non-blocking
|
||||
|
|
@ -68,6 +69,7 @@
|
|||
4.5 ASCII support
|
||||
4.6 GSSAPI via Windows SSPI
|
||||
4.7 STAT for LIST without data connection
|
||||
4.8 Passive transfer could try other IP addresses
|
||||
|
||||
5. HTTP
|
||||
5.1 Provide the error body from a CONNECT response
|
||||
|
|
@ -427,6 +429,21 @@
|
|||
|
||||
https://github.com/curl/curl/pull/6746
|
||||
|
||||
1.33 make DoH inherit more transfer properties
|
||||
|
||||
Some options are not inherited because they are not relevant for the DoH SSL
|
||||
connections, or inheriting the option may result in unexpected behavior. For
|
||||
example the user's debug function callback is not inherited because it would
|
||||
be unexpected for internal handles (ie DoH handles) to be passed to that
|
||||
callback.
|
||||
|
||||
If an option is not inherited then it is not possible to set it separately
|
||||
for DoH without a DoH-specific option. For example:
|
||||
CURLOPT_DOH_SSL_VERIFYHOST, CURLOPT_DOH_SSL_VERIFYPEER and
|
||||
CURLOPT_DOH_SSL_VERIFYSTATUS.
|
||||
|
||||
See https://github.com/curl/curl/issues/6605
|
||||
|
||||
2. libcurl - multi interface
|
||||
|
||||
2.1 More non-blocking
|
||||
|
|
@ -564,6 +581,17 @@
|
|||
|
||||
This is not detailed in any FTP specification.
|
||||
|
||||
4.8 Passive transfer could try other IP addresses
|
||||
|
||||
When doing FTP operations through a proxy at localhost, the reported spotted
|
||||
that curl only tried to connect once to the proxy, while it had multiple
|
||||
addresses and a failed connect on one address should make it try the next.
|
||||
|
||||
After switching to passive mode (EPSV), curl could try all IP addresses for
|
||||
"localhost". Currently it tries ::1, but it should also try 127.0.0.1.
|
||||
|
||||
See https://github.com/curl/curl/issues/1508
|
||||
|
||||
5. HTTP
|
||||
|
||||
5.1 Provide the error body from a CONNECT response
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue