Added Cyg-Win
This commit is contained in:
parent
82cbc206eb
commit
413c315806
10586 changed files with 3806249 additions and 0 deletions
582
Agent-Windows/OGP64/usr/share/doc/curl/KNOWN_BUGS.md
Normal file
582
Agent-Windows/OGP64/usr/share/doc/curl/KNOWN_BUGS.md
Normal file
|
|
@ -0,0 +1,582 @@
|
|||
<!--
|
||||
Copyright (C) Daniel Stenberg, <daniel@haxx.se>, et al.
|
||||
|
||||
SPDX-License-Identifier: curl
|
||||
-->
|
||||
|
||||
# Known bugs intro
|
||||
|
||||
These are problems and bugs known to exist at the time of this release. Feel
|
||||
free to join in and help us correct one or more of these. Also be sure to
|
||||
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.
|
||||
|
||||
# TLS
|
||||
|
||||
## IMAPS connection fails with Rustls error
|
||||
|
||||
[curl issue 10457](https://github.com/curl/curl/issues/10457)
|
||||
|
||||
## Access violation sending client cert with Schannel
|
||||
|
||||
When using Schannel to do client certs, curl sets `PKCS12_NO_PERSIST_KEY` to
|
||||
avoid leaking the private key into the filesystem. Unfortunately that flag
|
||||
instead seems to trigger a crash.
|
||||
|
||||
See [curl issue 17626](https://github.com/curl/curl/issues/17626)
|
||||
|
||||
## Client cert handling with Issuer `DN` differs between backends
|
||||
|
||||
When the specified client certificate does not match any of the
|
||||
server-specified `DN` fields, the OpenSSL and GnuTLS backends behave
|
||||
differently. The GitHub discussion may contain a solution.
|
||||
|
||||
See [curl issue 1411](https://github.com/curl/curl/issues/1411)
|
||||
|
||||
## Client cert (MTLS) issues with Schannel
|
||||
|
||||
See [curl issue 3145](https://github.com/curl/curl/issues/3145)
|
||||
|
||||
## Schannel TLS 1.2 handshake bug in old Windows versions
|
||||
|
||||
In old versions of Windows such as 7 and 8.1 the Schannel TLS 1.2 handshake
|
||||
implementation likely has a bug that can rarely cause the key exchange to
|
||||
fail, resulting in error SEC_E_BUFFER_TOO_SMALL or SEC_E_MESSAGE_ALTERED.
|
||||
|
||||
[curl issue 5488](https://github.com/curl/curl/issues/5488)
|
||||
|
||||
## `CURLOPT_CERTINFO` results in `CURLE_OUT_OF_MEMORY` with Schannel
|
||||
|
||||
[curl issue 8741](https://github.com/curl/curl/issues/8741)
|
||||
|
||||
## mbedTLS and CURLE_AGAIN handling
|
||||
|
||||
[curl issue 15801](https://github.com/curl/curl/issues/15801)
|
||||
|
||||
## Native CA roots incomplete on Windows with OpenSSL (or fork)
|
||||
|
||||
Certain Windows installations may be missing CA roots.
|
||||
|
||||
[curl issue 20897](https://github.com/curl/curl/issues/20897)
|
||||
[curl issue 12303](https://github.com/curl/curl/issues/12303)
|
||||
|
||||
# Email protocols
|
||||
|
||||
## IMAP `SEARCH ALL` truncated response
|
||||
|
||||
IMAP `SEARCH ALL` truncates output on large boxes. "A quick search of the code
|
||||
reveals that `pingpong.c` contains some truncation code, at line 408, when it
|
||||
deems the server response to be too large truncating it to 40 characters"
|
||||
|
||||
https://curl.se/bug/view.cgi?id=1366
|
||||
|
||||
## No disconnect command
|
||||
|
||||
The disconnect commands (`LOGOUT` and `QUIT`) may not be sent by IMAP, POP3
|
||||
and SMTP if a failure occurs during the authentication phase of a connection.
|
||||
|
||||
## `AUTH PLAIN` for SMTP is not working on all servers
|
||||
|
||||
Specifying `--login-options AUTH=PLAIN` on the command line does not seem to
|
||||
work correctly.
|
||||
|
||||
See [curl issue 4080](https://github.com/curl/curl/issues/4080)
|
||||
|
||||
## `APOP` authentication fails on POP3
|
||||
|
||||
See [curl issue 10073](https://github.com/curl/curl/issues/10073)
|
||||
|
||||
## POP3 issue when reading small chunks
|
||||
|
||||
CURL_DBG_SOCK_RMAX=4 ./runtests.pl -v 982
|
||||
|
||||
See [curl issue 12063](https://github.com/curl/curl/issues/12063)
|
||||
|
||||
# Command line
|
||||
|
||||
## `-T /dev/stdin` may upload with an incorrect content length
|
||||
|
||||
`-T` stats the path to figure out its size in bytes to use it as
|
||||
`Content-Length` if it is a regular file.
|
||||
|
||||
The problem with that is that on BSD and some other UNIX systems (not Linux),
|
||||
open(path) may not give you a file descriptor with a 0 offset from the start
|
||||
of the file.
|
||||
|
||||
See [curl issue 12177](https://github.com/curl/curl/issues/12177)
|
||||
|
||||
## `-T -` always uploads chunked
|
||||
|
||||
When the `<` shell operator is used. curl should realize that stdin is a
|
||||
regular file in this case, and that it can do a non-chunked upload, like it
|
||||
would do if you used `-T` file.
|
||||
|
||||
See [curl issue 12171](https://github.com/curl/curl/issues/12171)
|
||||
|
||||
## Windows stdin relay accepts unauthenticated local connections
|
||||
|
||||
curl features a Windows-only stdin relay in `src/tool_doswin.c` that creates a
|
||||
loopback TCP listener and spawns a thread to accept the first incoming
|
||||
connection, then forwards stdin to it. There is no authentication or peer
|
||||
validation on the accepted socket. A local attacker can race to connect to the
|
||||
ephemeral loopback port (discoverable via local port enumeration/scan) before
|
||||
curl connects, causing the thread to send stdin/upload data to the attacker or
|
||||
to disrupt the transfer.
|
||||
|
||||
The function should verify the client-side with a random number similar to the
|
||||
socketpair emulation function in libcurl. It cannot verify the source address
|
||||
and port since there is this widespread habit on Windows to run tools that
|
||||
MITM even local TCP connections for security.
|
||||
|
||||
# Build and portability issues
|
||||
|
||||
## OS400 port requires deprecated IBM library
|
||||
|
||||
curl for OS400 requires `QADRT` to build, which provides ASCII wrappers for
|
||||
libc/POSIX functions in the ILE, but IBM no longer supports or even offers
|
||||
this library to download.
|
||||
|
||||
See [curl issue 5176](https://github.com/curl/curl/issues/5176)
|
||||
|
||||
## `curl-config --libs` contains private details
|
||||
|
||||
`curl-config --libs` include details set in `LDFLAGS` when configure is run
|
||||
that might be needed only for building libcurl. Further, `curl-config
|
||||
--cflags` suffers from the same effects with `CFLAGS`/`CPPFLAGS`.
|
||||
|
||||
## `LDFLAGS` passed too late making libs linked incorrectly
|
||||
|
||||
Compiling latest curl on HP-UX and linking against a custom OpenSSL (which is
|
||||
on the default loader/linker path), fails because the generated Makefile has
|
||||
`LDFLAGS` passed on after `LIBS`.
|
||||
|
||||
See [curl issue 14893](https://github.com/curl/curl/issues/14893)
|
||||
|
||||
## Cygwin: make install installs curl-config.1 twice
|
||||
|
||||
[curl issue 8839](https://github.com/curl/curl/issues/8839)
|
||||
|
||||
## flaky CI builds
|
||||
|
||||
We run many CI builds for each commit and PR on GitHub, and especially a
|
||||
number of the Windows builds are flaky. This means that we rarely get all CI
|
||||
builds go green and complete without errors. This is unfortunate as it makes
|
||||
us sometimes miss actual build problems and it is surprising to newcomers to
|
||||
the project who (rightfully) do not expect this.
|
||||
|
||||
See [curl issue 6972](https://github.com/curl/curl/issues/6972)
|
||||
|
||||
## long paths are not fully supported on Windows
|
||||
|
||||
curl on Windows cannot access long paths (paths longer than 260 characters).
|
||||
As a workaround, the Windows path prefix `\\?\` which disables all path
|
||||
interpretation may work to allow curl to access the path. For example:
|
||||
`\\?\c:\longpath`.
|
||||
|
||||
See [curl issue 8361](https://github.com/curl/curl/issues/8361)
|
||||
|
||||
## Unicode on Windows
|
||||
|
||||
Passing in a Unicode filename with -o:
|
||||
|
||||
[curl issue 11461](https://github.com/curl/curl/issues/11461)
|
||||
|
||||
Passing in Unicode character with -d:
|
||||
|
||||
[curl issue 12231](https://github.com/curl/curl/issues/12231)
|
||||
|
||||
Windows Unicode builds use the home directory in current locale.
|
||||
|
||||
The Windows Unicode builds of curl use the current locale, but expect Unicode
|
||||
UTF-8 encoded paths for internal use such as open, access and stat. The user's
|
||||
home directory is retrieved via curl_getenv in the current locale and not as
|
||||
UTF-8 encoded Unicode.
|
||||
|
||||
See [curl pull request 7252](https://github.com/curl/curl/pull/7252) and [curl pull request 7281](https://github.com/curl/curl/pull/7281)
|
||||
|
||||
Cannot handle Unicode arguments in non-Unicode builds on Windows
|
||||
|
||||
If a URL or filename cannot be encoded using the user's current code page then
|
||||
it can only be encoded properly in the Unicode character set. Windows uses
|
||||
UTF-16 encoding for Unicode and stores it in wide characters, however curl and
|
||||
libcurl are not equipped for that at the moment except when built with
|
||||
_UNICODE and UNICODE defined. Except for Cygwin, Windows cannot use UTF-8 as a
|
||||
locale.
|
||||
|
||||
https://curl.se/bug/?i=345
|
||||
https://curl.se/bug/?i=731
|
||||
https://curl.se/bug/?i=3747
|
||||
|
||||
NTLM authentication and Unicode
|
||||
|
||||
NTLM authentication involving Unicode username or password only works properly
|
||||
if built with UNICODE defined together with the Schannel backend. The original
|
||||
problem was mentioned in: https://curl.se/mail/lib-2009-10/0024.html and
|
||||
https://curl.se/bug/view.cgi?id=896
|
||||
|
||||
The Schannel version verified to work as mentioned in
|
||||
https://curl.se/mail/lib-2012-07/0073.html
|
||||
|
||||
# Authentication
|
||||
|
||||
## Digest `auth-int` for PUT/POST
|
||||
|
||||
We do not support auth-int for Digest using PUT or POST
|
||||
|
||||
## MIT Kerberos for Windows build
|
||||
|
||||
libcurl fails to build with MIT Kerberos for Windows (`KfW`) due to its
|
||||
library header files exporting symbols/macros that should be kept private to
|
||||
the library.
|
||||
|
||||
## NTLM in system context uses wrong name
|
||||
|
||||
NTLM authentication using SSPI (on Windows) when (lib)curl is running in
|
||||
"system context" makes it use wrong(?) username - at least when compared to
|
||||
what `winhttp` does. See https://curl.se/bug/view.cgi?id=535
|
||||
|
||||
## NTLM does not support password with Unicode 'SECTION SIGN' character
|
||||
|
||||
Code point: U+00A7
|
||||
|
||||
https://en.wikipedia.org/wiki/Section_sign
|
||||
[curl issue 2120](https://github.com/curl/curl/issues/2120)
|
||||
|
||||
## libcurl can fail to try alternatives with `--proxy-any`
|
||||
|
||||
When connecting via a proxy using `--proxy-any`, a failure to establish an
|
||||
authentication causes libcurl to abort trying other options if the failed
|
||||
method has a higher preference than the alternatives. As an example,
|
||||
`--proxy-any` against a proxy which advertise Negotiate and NTLM, but which
|
||||
fails to set up Kerberos authentication does not proceed to try authentication
|
||||
using NTLM.
|
||||
|
||||
[curl issue 876](https://github.com/curl/curl/issues/876)
|
||||
|
||||
## Do not clear digest for single realm
|
||||
|
||||
[curl issue 3267](https://github.com/curl/curl/issues/3267)
|
||||
|
||||
## SHA-256 digest not supported in Windows SSPI builds
|
||||
|
||||
Windows builds of curl that have SSPI enabled use the native Windows API calls
|
||||
to create authentication strings. The call to `InitializeSecurityContext` fails
|
||||
with `SEC_E_QOP_NOT_SUPPORTED` which causes curl to fail with
|
||||
`CURLE_AUTH_ERROR`.
|
||||
|
||||
Microsoft does not document supported digest algorithms and that `SEC_E` error
|
||||
code is not a documented error for `InitializeSecurityContext` (digest).
|
||||
|
||||
[curl issue 6302](https://github.com/curl/curl/issues/6302)
|
||||
|
||||
## curl never completes Negotiate over HTTP
|
||||
|
||||
Apparently it is not working correctly...?
|
||||
|
||||
See [curl issue 5235](https://github.com/curl/curl/issues/5235)
|
||||
|
||||
## Negotiate on Windows fails
|
||||
|
||||
When using `--negotiate` (or NTLM) with curl on Windows, SSL/TLS handshake
|
||||
fails despite having a valid kerberos ticket cached. Works without any issue
|
||||
in Unix/Linux.
|
||||
|
||||
[curl issue 5881](https://github.com/curl/curl/issues/5881)
|
||||
|
||||
## Negotiate authentication against Hadoop
|
||||
|
||||
[curl issue 8264](https://github.com/curl/curl/issues/8264)
|
||||
|
||||
# FTP
|
||||
|
||||
## FTP with ACCT
|
||||
|
||||
When doing an operation over FTP that requires the `ACCT` command (but not when
|
||||
logging in), the operation fails since libcurl does not detect this and thus
|
||||
fails to issue the correct command: https://curl.se/bug/view.cgi?id=635
|
||||
|
||||
## FTPS server compatibility on Windows with Schannel
|
||||
|
||||
FTPS is not widely used with the Schannel TLS backend and so there may be more
|
||||
bugs compared to other TLS backends such as OpenSSL. In the past users have
|
||||
reported hanging and failed connections. It is likely some changes to curl
|
||||
since then fixed the issues. None of the reported issues can be reproduced any
|
||||
longer.
|
||||
|
||||
If you encounter an issue connecting to your server via FTPS with the latest
|
||||
curl and Schannel then please search for open issues or file a new issue.
|
||||
|
||||
# SFTP and SCP
|
||||
|
||||
## SFTP does not do `CURLOPT_POSTQUOTE` correct
|
||||
|
||||
When libcurl sends `CURLOPT_POSTQUOTE` commands when connected to an SFTP
|
||||
server using the multi interface, the commands are not being sent correctly
|
||||
and instead the connection is canceled (the operation is considered done)
|
||||
prematurely. There is a half-baked (busy-looping) patch provided in the bug
|
||||
report but it cannot be accepted as-is. See
|
||||
https://curl.se/bug/view.cgi?id=748
|
||||
|
||||
## Remote recursive folder creation with SFTP
|
||||
|
||||
On this servers, the curl fails to create directories on the remote server
|
||||
even when the `CURLOPT_FTP_CREATE_MISSING_DIRS` option is set.
|
||||
|
||||
See [curl issue 5204](https://github.com/curl/curl/issues/5204)
|
||||
|
||||
## libssh blocking and infinite loop problem
|
||||
|
||||
In the `SSH_SFTP_INIT` state for libssh, the ssh session working mode is set
|
||||
to blocking mode. If the network is suddenly disconnected during sftp
|
||||
transmission, curl is stuck, even if curl is configured with a timeout.
|
||||
|
||||
[curl issue 8632](https://github.com/curl/curl/issues/8632)
|
||||
|
||||
## Cygwin: "WARNING: UNPROTECTED PRIVATE KEY FILE!"
|
||||
|
||||
Running SCP and SFTP tests on Cygwin makes this warning message appear.
|
||||
|
||||
[curl issue 11244](https://github.com/curl/curl/issues/11244)
|
||||
|
||||
# Connection
|
||||
|
||||
## `--interface` with link-scoped IPv6 address
|
||||
|
||||
When you give the `--interface` option telling curl to use a specific
|
||||
interface for its outgoing traffic in combination with an IPv6 address in the
|
||||
URL that uses a link-local scope, curl might pick the wrong address from the
|
||||
named interface and the subsequent transfer fails.
|
||||
|
||||
Example command line:
|
||||
|
||||
curl --interface eth0 'http://[fe80:928d:xxff:fexx:xxxx]/'
|
||||
|
||||
The fact that the given IP address is link-scoped should probably be used as
|
||||
input to somehow make curl make a better choice for this.
|
||||
|
||||
[curl issue 14782](https://github.com/curl/curl/issues/14782)
|
||||
|
||||
## Does not acknowledge getaddrinfo sorting policy
|
||||
|
||||
Even if a user edits `/etc/gai.conf` to prefer IPv4, curl still prefers and
|
||||
tries IPv6 addresses first.
|
||||
|
||||
[curl issue 16718](https://github.com/curl/curl/issues/16718)
|
||||
|
||||
## SOCKS-SSPI discards the security context
|
||||
|
||||
After a successful SSPI/GSS-API exchange, the function queries and logs the
|
||||
authenticated username and reports the supported data-protection level, but
|
||||
then immediately deletes the negotiated SSPI security context and frees the
|
||||
credentials before returning. The negotiated context is not stored on the
|
||||
connection and is therefore never used to protect later SOCKS5 traffic.
|
||||
|
||||
## cannot use absolute Unix domain filename for SOCKS on Windows
|
||||
|
||||
curl supports using a Unix domain socket path for speaking SOCKS to a proxy,
|
||||
by providing a filename in the URL used for `-x` (`CURLOPT_PROXY`), but that
|
||||
path cannot be a proper absolute Windows path with a drive letter etc.
|
||||
|
||||
A solution for this probably requires that we add and provide a
|
||||
`--unix-socket` (`CURLOPT_UNIX_SOCKET_PATH`) option alternative for proxy
|
||||
communication.
|
||||
|
||||
See [curl issue 19825](https://github.com/curl/curl/issues/19825)
|
||||
|
||||
# Internals
|
||||
|
||||
## GSSAPI library name + version is missing in `curl_version_info()`
|
||||
|
||||
The struct needs to be expanded and code added to store this info.
|
||||
|
||||
See [curl issue 13492](https://github.com/curl/curl/issues/13492)
|
||||
|
||||
## error buffer not set if connection to multiple addresses fails
|
||||
|
||||
If you ask libcurl to resolve a hostname like example.com to IPv6 addresses
|
||||
when you only have IPv4 connectivity. libcurl fails with
|
||||
`CURLE_COULDNT_CONNECT`, but the error buffer set by `CURLOPT_ERRORBUFFER`
|
||||
remains empty. Issue: [curl issue 544](https://github.com/curl/curl/issues/544)
|
||||
|
||||
## HTTP test server 'connection-monitor' problems
|
||||
|
||||
The `connection-monitor` feature of the HTTP test server does not work
|
||||
properly if some tests are run in unexpected order. Like 1509 and then 1525.
|
||||
|
||||
See [curl issue 868](https://github.com/curl/curl/issues/868)
|
||||
|
||||
## Connection information when using TCP Fast Open
|
||||
|
||||
`CURLINFO_LOCAL_PORT` (and possibly a few other) fails when TCP Fast Open is
|
||||
enabled.
|
||||
|
||||
See [curl issue 1332](https://github.com/curl/curl/issues/1332) and
|
||||
[curl issue 4296](https://github.com/curl/curl/issues/4296)
|
||||
|
||||
## test cases sometimes timeout
|
||||
|
||||
Occasionally, one of the tests timeouts. Inexplicably.
|
||||
|
||||
See [curl issue 13350](https://github.com/curl/curl/issues/13350)
|
||||
|
||||
## `CURLOPT_CONNECT_TO` does not work for HTTPS proxy
|
||||
|
||||
It is unclear if the same option should even cover the proxy connection or if
|
||||
if requires a separate option.
|
||||
|
||||
See [curl issue 14481](https://github.com/curl/curl/issues/14481)
|
||||
|
||||
## WinIDN test failures
|
||||
|
||||
Test 165 disabled when built with WinIDN.
|
||||
|
||||
## setting a disabled option should return `CURLE_NOT_BUILT_IN`
|
||||
|
||||
When curl has been built with specific features or protocols disabled, setting
|
||||
such options with `curl_easy_setopt()` should rather return
|
||||
`CURLE_NOT_BUILT_IN` instead of `CURLE_UNKNOWN_OPTION` to signal the
|
||||
difference to the application
|
||||
|
||||
See [curl issue 15472](https://github.com/curl/curl/issues/15472)
|
||||
|
||||
# LDAP
|
||||
|
||||
## OpenLDAP hangs after returning results
|
||||
|
||||
By configuration defaults, OpenLDAP automatically chase referrals on secondary
|
||||
socket descriptors. The OpenLDAP backend is asynchronous and thus should
|
||||
monitor all socket descriptors involved. Currently, these secondary
|
||||
descriptors are not monitored, causing OpenLDAP library to never receive data
|
||||
from them.
|
||||
|
||||
As a temporary workaround, disable referrals chasing by configuration.
|
||||
|
||||
The fix is not easy: proper automatic referrals chasing requires a synchronous
|
||||
bind callback and monitoring an arbitrary number of socket descriptors for a
|
||||
single easy handle (currently limited to 5).
|
||||
|
||||
Generic LDAP is synchronous: OK.
|
||||
|
||||
See [curl issue 622](https://github.com/curl/curl/issues/622) and
|
||||
https://curl.se/mail/lib-2016-01/0101.html
|
||||
|
||||
## LDAP on Windows does authentication wrong?
|
||||
|
||||
[curl issue 3116](https://github.com/curl/curl/issues/3116)
|
||||
|
||||
## LDAP on Windows does not work
|
||||
|
||||
A simple curl command line getting `ldap://ldap.forumsys.com` returns an error
|
||||
that says `no memory` !
|
||||
|
||||
[curl issue 4261](https://github.com/curl/curl/issues/4261)
|
||||
|
||||
## LDAPS requests to Active Directory server hang
|
||||
|
||||
[curl issue 9580](https://github.com/curl/curl/issues/9580)
|
||||
|
||||
# TCP/IP
|
||||
|
||||
## telnet code does not handle partial writes properly
|
||||
|
||||
It probably does not happen too easily because of how slow and infrequent
|
||||
sends are normally performed.
|
||||
|
||||
## Trying local ports fails on Windows
|
||||
|
||||
This makes `--local-port [range]` to not work since curl cannot properly
|
||||
detect if a port is already in use, so it tries the first port, uses that and
|
||||
then subsequently fails anyway if that was actually in use.
|
||||
|
||||
[curl issue 8112](https://github.com/curl/curl/issues/8112)
|
||||
|
||||
# CMake
|
||||
|
||||
## cmake outputs: no version information available
|
||||
|
||||
Something in the SONAME generation seems to be wrong in the cmake build.
|
||||
|
||||
[curl issue 11158](https://github.com/curl/curl/issues/11158)
|
||||
|
||||
## uses `-lpthread` instead of `Threads::Threads`
|
||||
|
||||
See [curl issue 6166](https://github.com/curl/curl/issues/6166)
|
||||
|
||||
## generated `.pc` file contains strange entries
|
||||
|
||||
The `Libs.private` field of the generated `.pc` file contains `-lgcc -lgcc_s
|
||||
-lc -lgcc -lgcc_s`.
|
||||
|
||||
See [curl issue 6167](https://github.com/curl/curl/issues/6167)
|
||||
|
||||
## CMake build with MIT Kerberos does not work
|
||||
|
||||
Minimum CMake version was bumped in curl 7.71.0 (#5358) Since CMake 3.2
|
||||
try_compile started respecting the `CMAKE_EXE_FLAGS`. The code dealing with
|
||||
MIT Kerberos detection sets few variables to potentially weird mix of space,
|
||||
and ;-separated flags. It had to blow up at some point. All the CMake checks
|
||||
that involve compilation are doomed from that point, the configured tree
|
||||
cannot be built.
|
||||
|
||||
[curl issue 6904](https://github.com/curl/curl/issues/6904)
|
||||
|
||||
# Authentication
|
||||
|
||||
## `--aws-sigv4` does not handle multipart/form-data correctly
|
||||
|
||||
[curl issue 13351](https://github.com/curl/curl/issues/13351)
|
||||
|
||||
# HTTP/2
|
||||
|
||||
## HTTP/2 prior knowledge over proxy
|
||||
|
||||
[curl issue 12641](https://github.com/curl/curl/issues/12641)
|
||||
|
||||
## 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 is
|
||||
found readable when considered for reuse and that makes curl think it is dead
|
||||
and then it is 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.
|
||||
|
||||
## `ENHANCE_YOUR_CALM` causes infinite retries
|
||||
|
||||
Infinite retries with 2 parallel requests on one connection receiving `GOAWAY`
|
||||
with `ENHANCE_YOUR_CALM` error code.
|
||||
|
||||
See [curl issue 5119](https://github.com/curl/curl/issues/5119)
|
||||
|
||||
## HTTP/2 + TLS spends a lot of time in recv
|
||||
|
||||
It has been observed that by making the speed limit less accurate we could
|
||||
improve this performance. (by reverting
|
||||
[db5c9f4f9e0779](https://github.com/curl/curl/commit/db5c9f4f9e0779b49624752b135281a0717b277b))
|
||||
Can we find a golden middle ground?
|
||||
|
||||
See https://curl.se/mail/lib-2024-05/0026.html and
|
||||
[curl issue 13416](https://github.com/curl/curl/issues/13416)
|
||||
|
||||
# HTTP/3
|
||||
|
||||
## connection migration does not work
|
||||
|
||||
[curl issue 7695](https://github.com/curl/curl/issues/7695)
|
||||
|
||||
## quiche: QUIC connection is draining
|
||||
|
||||
The transfer ends with error "QUIC connection is draining".
|
||||
|
||||
[curl issue 12037](https://github.com/curl/curl/issues/12037)
|
||||
|
||||
# RTSP
|
||||
|
||||
## Some methods do not support response bodies
|
||||
|
||||
The RTSP implementation is written to assume that a number of RTSP methods
|
||||
always get responses without bodies, even though there seems to be no
|
||||
indication in the RFC that this is always the case.
|
||||
|
||||
[curl issue 12414](https://github.com/curl/curl/issues/12414)
|
||||
Loading…
Add table
Add a link
Reference in a new issue