mirror of
https://github.com/moparisthebest/curl
synced 2025-01-09 04:58:00 -05:00
KNOWN_BUGS: add three HTTP/3 issues
... and moved the HTTP/2 issues to its own section Closes #6606 Closes #6510 Closes #6494
This commit is contained in:
parent
94241a9e78
commit
e41f2e5225
@ -12,7 +12,6 @@ check the changelog of the current development status, as one or more of these
|
|||||||
problems may have been fixed or changed somewhat since this was written!
|
problems may have been fixed or changed somewhat since this was written!
|
||||||
|
|
||||||
1. HTTP
|
1. HTTP
|
||||||
1.1 Excessive HTTP/2 packets with TCP_NODELAY
|
|
||||||
1.2 Multiple methods in a single WWW-Authenticate: header
|
1.2 Multiple methods in a single WWW-Authenticate: header
|
||||||
1.3 STARTTRANSFER time is wrong for HTTP POSTs
|
1.3 STARTTRANSFER time is wrong for HTTP POSTs
|
||||||
1.4 multipart formposts file name encoding
|
1.4 multipart formposts file name encoding
|
||||||
@ -20,7 +19,6 @@ problems may have been fixed or changed somewhat since this was written!
|
|||||||
1.6 Unnecessary close when 401 received waiting for 100
|
1.6 Unnecessary close when 401 received waiting for 100
|
||||||
1.7 Deflate error after all content was received
|
1.7 Deflate error after all content was received
|
||||||
1.8 DoH isn't used for all name resolves when enabled
|
1.8 DoH isn't used for all name resolves when enabled
|
||||||
1.9 HTTP/2 frames while in the connection pool kill reuse
|
|
||||||
1.11 CURLOPT_SEEKFUNCTION not called with CURLFORM_STREAM
|
1.11 CURLOPT_SEEKFUNCTION not called with CURLFORM_STREAM
|
||||||
|
|
||||||
2. TLS
|
2. TLS
|
||||||
@ -144,20 +142,19 @@ problems may have been fixed or changed somewhat since this was written!
|
|||||||
16. Applications
|
16. Applications
|
||||||
16.1 pulseUI VPN client
|
16.1 pulseUI VPN client
|
||||||
|
|
||||||
|
17. HTTP/2
|
||||||
|
17.1 Excessive HTTP/2 packets with TCP_NODELAY
|
||||||
|
17.2 HTTP/2 frames while in the connection pool kill reuse
|
||||||
|
|
||||||
|
18. HTTP/3
|
||||||
|
18.1 If the HTTP/3 server closes connection during upload curl hangs
|
||||||
|
18.2 Uploading HTTP/3 files gets interrupted at certain file sizes
|
||||||
|
18.3 HTTP/3 download is 5x times slower than HTTP/2
|
||||||
|
|
||||||
==============================================================================
|
==============================================================================
|
||||||
|
|
||||||
1. HTTP
|
1. HTTP
|
||||||
|
|
||||||
1.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
|
|
||||||
|
|
||||||
1.2 Multiple methods in a single WWW-Authenticate: header
|
1.2 Multiple methods in a single WWW-Authenticate: header
|
||||||
|
|
||||||
The HTTP responses headers WWW-Authenticate: can provide information about
|
The HTTP responses headers WWW-Authenticate: can provide information about
|
||||||
@ -215,16 +212,6 @@ problems may have been fixed or changed somewhat since this was written!
|
|||||||
See https://github.com/curl/curl/pull/3857 and
|
See https://github.com/curl/curl/pull/3857 and
|
||||||
https://github.com/curl/curl/pull/3850
|
https://github.com/curl/curl/pull/3850
|
||||||
|
|
||||||
1.9 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
|
|
||||||
curl while the connection is held in curl's connection pool, the socket will
|
|
||||||
be found readable when considered for reuse and that makes curl think it is
|
|
||||||
dead and then it will be closed and a new connection gets created instead.
|
|
||||||
|
|
||||||
This is *best* fixed by adding monitoring to connections while they are kept
|
|
||||||
in the pool so that pings can be responded to appropriately.
|
|
||||||
|
|
||||||
1.11 CURLOPT_SEEKFUNCTION not called with CURLFORM_STREAM
|
1.11 CURLOPT_SEEKFUNCTION not called with CURLFORM_STREAM
|
||||||
|
|
||||||
I'm using libcurl to POST form data using a FILE* with the CURLFORM_STREAM
|
I'm using libcurl to POST form data using a FILE* with the CURLFORM_STREAM
|
||||||
@ -1016,3 +1003,39 @@ problems may have been fixed or changed somewhat since this was written!
|
|||||||
See
|
See
|
||||||
https://community.pulsesecure.net/t5/Pulse-Desktop-Clients/Linux-Pulse-Client-does-not-work-with-curl-7-74/m-p/44378
|
https://community.pulsesecure.net/t5/Pulse-Desktop-Clients/Linux-Pulse-Client-does-not-work-with-curl-7-74/m-p/44378
|
||||||
and https://github.com/curl/curl/issues/6306
|
and https://github.com/curl/curl/issues/6306
|
||||||
|
|
||||||
|
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
|
||||||
|
curl while the connection is held in curl's connection pool, the socket will
|
||||||
|
be found readable when considered for reuse and that makes curl think it is
|
||||||
|
dead and then it will be closed and a new connection gets created instead.
|
||||||
|
|
||||||
|
This is *best* fixed by adding monitoring to connections while they are kept
|
||||||
|
in the pool so that pings can be responded to appropriately.
|
||||||
|
|
||||||
|
18. HTTP/3
|
||||||
|
|
||||||
|
18.1 If the HTTP/3 server closes connection during upload curl hangs
|
||||||
|
|
||||||
|
See https://github.com/curl/curl/issues/6606
|
||||||
|
|
||||||
|
18.2 Uploading HTTP/3 files gets interrupted at certain file sizes
|
||||||
|
|
||||||
|
See https://github.com/curl/curl/issues/6510
|
||||||
|
|
||||||
|
18.3 HTTP/3 download is 5x times slower than HTTP/2
|
||||||
|
|
||||||
|
See https://github.com/curl/curl/issues/6494
|
||||||
|
Loading…
Reference in New Issue
Block a user