2016-04-06 10:20:18 +03:00
|
|
|
_ _ ____ _
|
|
|
|
___| | | | _ \| |
|
|
|
|
/ __| | | | |_) | |
|
|
|
|
| (__| |_| | _ <| |___
|
|
|
|
\___|\___/|_| \_\_____|
|
|
|
|
|
|
|
|
Known Bugs
|
|
|
|
|
|
|
|
These are problems and bugs known to exist at the time of this release. Feel
|
2021-12-09 14:03:35 +03:00
|
|
|
free to join in and help us correct one or more of these. Also be sure to
|
2016-04-06 10:20:18 +03:00
|
|
|
check the changelog of the current development status, as one or more of these
|
2021-12-09 14:03:35 +03:00
|
|
|
problems may have been fixed or changed somewhat since this was written.
|
2016-04-06 10:20:18 +03:00
|
|
|
|
|
|
|
1. HTTP
|
2023-05-22 18:06:54 +03:00
|
|
|
1.1 hyper memory-leaks
|
2023-07-31 09:45:33 +03:00
|
|
|
1.2 hyper is slow
|
2016-04-06 10:20:18 +03:00
|
|
|
1.5 Expect-100 meets 417
|
|
|
|
|
|
|
|
2. TLS
|
2020-09-23 09:50:52 +03:00
|
|
|
2.3 Unable to use PKCS12 certificate with Secure Transport
|
2021-10-31 18:34:44 +03:00
|
|
|
2.4 Secure Transport will not import PKCS#12 client certificates without a password
|
2018-04-30 11:26:26 +03:00
|
|
|
2.5 Client cert handling with Issuer DN differs between backends
|
2019-03-07 15:14:51 +03:00
|
|
|
2.7 Client cert (MTLS) issues with Schannel
|
2019-06-25 00:23:13 +03:00
|
|
|
2.8 Schannel disable CURLOPT_SSL_VERIFYPEER and verify hostname
|
2020-08-18 10:24:38 +03:00
|
|
|
2.11 Schannel TLS 1.2 handshake bug in old Windows versions
|
2020-11-05 01:56:12 +03:00
|
|
|
2.12 FTPS with Schannel times out file list operation
|
2022-08-13 01:27:57 +03:00
|
|
|
2.13 CURLOPT_CERTINFO results in CURLE_OUT_OF_MEMORY with Schannel
|
2016-04-06 10:20:18 +03:00
|
|
|
|
|
|
|
3. Email protocols
|
|
|
|
3.1 IMAP SEARCH ALL truncated response
|
|
|
|
3.2 No disconnect command
|
2020-01-15 01:22:38 +03:00
|
|
|
3.3 POP3 expects "CRLF.CRLF" eob for some single-line responses
|
|
|
|
3.4 AUTH PLAIN for SMTP is not working on all servers
|
2023-07-31 09:47:22 +03:00
|
|
|
3.5 APOP authentication fails on POP3
|
2016-04-06 10:20:18 +03:00
|
|
|
|
|
|
|
4. Command line
|
|
|
|
|
|
|
|
5. Build and portability issues
|
2020-05-15 17:58:45 +03:00
|
|
|
5.1 OS400 port requires deprecated IBM library
|
2016-04-06 10:20:18 +03:00
|
|
|
5.2 curl-config --libs contains private details
|
2023-07-23 18:00:29 +03:00
|
|
|
5.3 building for old macOS fails with gcc
|
2023-07-31 09:53:55 +03:00
|
|
|
5.4 build for iOS simulator on macOS 13.2 with Xcode 14
|
2021-10-31 18:34:44 +03:00
|
|
|
5.5 cannot handle Unicode arguments in non-Unicode builds on Windows
|
2016-10-16 13:54:59 +03:00
|
|
|
5.9 Utilize Requires.private directives in libcurl.pc
|
2020-03-05 16:27:14 +03:00
|
|
|
5.11 configure --with-gssapi with Heimdal is ignored on macOS
|
2023-04-13 19:15:31 +03:00
|
|
|
5.12 flaky CI builds
|
2022-08-10 10:23:25 +03:00
|
|
|
5.13 long paths are not fully supported on Windows
|
2022-08-13 10:47:12 +03:00
|
|
|
5.14 Windows Unicode builds use homedir in current locale
|
2016-04-06 10:20:18 +03:00
|
|
|
|
|
|
|
6. Authentication
|
|
|
|
6.1 NTLM authentication and unicode
|
|
|
|
6.2 MIT Kerberos for Windows build
|
|
|
|
6.3 NTLM in system context uses wrong name
|
2016-08-31 13:22:12 +03:00
|
|
|
6.4 Negotiate and Kerberos V5 need a fake user name
|
2021-10-31 18:34:44 +03:00
|
|
|
6.5 NTLM does not support password with § character
|
2018-11-09 18:50:39 +03:00
|
|
|
6.6 libcurl can fail to try alternatives with --proxy-any
|
2021-10-31 18:34:44 +03:00
|
|
|
6.7 Do not clear digest for single realm
|
2020-12-14 09:08:15 +03:00
|
|
|
6.9 SHA-256 digest not supported in Windows SSPI builds
|
2020-12-25 19:16:19 +03:00
|
|
|
6.10 curl never completes Negotiate over HTTP
|
2021-06-16 15:29:11 +03:00
|
|
|
6.11 Negotiate on Windows fails
|
2021-10-31 18:34:44 +03:00
|
|
|
6.12 cannot use Secure Transport with Crypto Token Kit
|
2022-08-08 17:45:51 +03:00
|
|
|
6.13 Negotiate against Hadoop HDFS
|
2016-04-06 10:20:18 +03:00
|
|
|
|
|
|
|
7. FTP
|
|
|
|
7.3 FTP with NOBODY and FAILONERROR
|
|
|
|
7.4 FTP with ACCT
|
2021-08-24 19:54:03 +03:00
|
|
|
7.11 FTPS upload data loss with TLS 1.3
|
2022-08-13 01:32:12 +03:00
|
|
|
7.12 FTPS directory listing hangs on Windows with Schannel
|
2016-04-06 10:20:18 +03:00
|
|
|
|
|
|
|
9. SFTP and SCP
|
2021-10-31 18:34:44 +03:00
|
|
|
9.1 SFTP does not do CURLOPT_POSTQUOTE correct
|
|
|
|
9.2 wolfssh: publickey auth does not work
|
2020-12-21 00:49:36 +03:00
|
|
|
9.3 Remote recursive folder creation with SFTP
|
2022-08-13 01:25:31 +03:00
|
|
|
9.4 libssh blocking and infinite loop problem
|
2023-07-28 00:43:28 +03:00
|
|
|
9.5 cygwin: "WARNING: UNPROTECTED PRIVATE KEY FILE!"
|
2016-04-06 10:20:18 +03:00
|
|
|
|
|
|
|
10. SOCKS
|
|
|
|
10.3 FTPS over SOCKS
|
|
|
|
|
2016-04-08 14:21:52 +03:00
|
|
|
11. Internals
|
2016-04-08 14:23:28 +03:00
|
|
|
11.2 error buffer not set if connection to multiple addresses fails
|
2017-08-18 17:04:55 +03:00
|
|
|
11.4 HTTP test server 'connection-monitor' problems
|
2018-04-30 11:17:10 +03:00
|
|
|
11.5 Connection information when using TCP Fast Open
|
2016-04-08 14:21:52 +03:00
|
|
|
|
2020-11-18 18:43:56 +03:00
|
|
|
12. LDAP
|
2016-04-08 17:49:49 +03:00
|
|
|
12.1 OpenLDAP hangs after returning results
|
2019-10-12 23:45:13 +03:00
|
|
|
12.2 LDAP on Windows does authentication wrong?
|
2021-10-31 18:34:44 +03:00
|
|
|
12.3 LDAP on Windows does not work
|
2016-04-08 17:49:49 +03:00
|
|
|
|
2016-10-16 12:53:54 +03:00
|
|
|
13. TCP/IP
|
2022-01-01 19:59:56 +03:00
|
|
|
13.2 Trying local ports fails on Windows
|
2016-04-25 12:20:23 +03:00
|
|
|
|
2020-11-18 18:43:56 +03:00
|
|
|
15. CMake
|
2023-07-31 09:51:32 +03:00
|
|
|
15.1 cmake outputs: no version information available
|
2020-11-18 18:43:56 +03:00
|
|
|
15.2 support build with GnuTLS
|
|
|
|
15.3 unusable tool_hugehelp.c with MinGW
|
|
|
|
15.4 build docs/curl.1
|
2020-11-18 18:49:29 +03:00
|
|
|
15.6 uses -lpthread instead of Threads::Threads
|
2020-11-18 18:50:41 +03:00
|
|
|
15.7 generated .pc file contains strange entries
|
2020-11-18 18:53:28 +03:00
|
|
|
15.8 libcurl.pc uses absolute library paths
|
2021-01-28 11:27:41 +03:00
|
|
|
15.11 ExternalProject_Add does not set CURL_CA_PATH
|
2021-08-16 10:40:32 +03:00
|
|
|
15.13 CMake build with MIT Kerberos does not work
|
2020-11-18 18:43:56 +03:00
|
|
|
|
2021-01-28 10:24:13 +03:00
|
|
|
16. Applications
|
|
|
|
|
2021-05-03 18:22:52 +03:00
|
|
|
17. HTTP/2
|
|
|
|
17.2 HTTP/2 frames while in the connection pool kill reuse
|
2021-05-03 18:27:35 +03:00
|
|
|
17.3 ENHANCE_YOUR_CALM causes infinite retries
|
2016-04-06 10:20:18 +03:00
|
|
|
|
2021-05-03 18:22:52 +03:00
|
|
|
18. HTTP/3
|
2023-04-13 19:15:31 +03:00
|
|
|
18.1 connection migration does not work
|
2021-02-14 00:42:58 +03:00
|
|
|
|
2021-05-03 18:22:52 +03:00
|
|
|
==============================================================================
|
2021-02-14 00:42:58 +03:00
|
|
|
|
2021-05-03 18:22:52 +03:00
|
|
|
1. HTTP
|
2021-02-14 00:42:58 +03:00
|
|
|
|
2023-05-22 18:06:54 +03:00
|
|
|
1.1 hyper memory-leaks
|
|
|
|
|
|
|
|
Building curl with the hyper backend causes mysterious memory-leaks
|
|
|
|
|
|
|
|
https://github.com/curl/curl/issues/10803
|
|
|
|
|
2023-07-31 09:45:33 +03:00
|
|
|
1.2 hyper is slow
|
|
|
|
|
|
|
|
When curl is built to use hyper for HTTP, it is unnecessary slow.
|
|
|
|
|
|
|
|
https://github.com/curl/curl/issues/11203
|
|
|
|
|
2016-04-06 10:20:18 +03:00
|
|
|
1.5 Expect-100 meets 417
|
|
|
|
|
|
|
|
If an upload using Expect: 100-continue receives an HTTP 417 response, it
|
2021-12-09 14:03:35 +03:00
|
|
|
ought to be automatically resent without the Expect:. A workaround is for
|
2016-04-06 10:20:18 +03:00
|
|
|
the client application to redo the transfer after disabling Expect:.
|
2020-11-04 16:02:01 +03:00
|
|
|
https://curl.se/mail/archive-2008-02/0043.html
|
2016-04-06 10:20:18 +03:00
|
|
|
|
|
|
|
2. TLS
|
|
|
|
|
2020-09-23 09:50:52 +03:00
|
|
|
2.3 Unable to use PKCS12 certificate with Secure Transport
|
|
|
|
|
|
|
|
See https://github.com/curl/curl/issues/5403
|
|
|
|
|
2021-10-31 18:34:44 +03:00
|
|
|
2.4 Secure Transport will not import PKCS#12 client certificates without a password
|
2017-03-07 03:13:03 +03:00
|
|
|
|
|
|
|
libcurl calls SecPKCS12Import with the PKCS#12 client certificate, but that
|
|
|
|
function rejects certificates that do not have a password.
|
|
|
|
https://github.com/curl/curl/issues/1308
|
|
|
|
|
2018-04-30 11:26:26 +03:00
|
|
|
2.5 Client cert handling with Issuer DN differs between backends
|
|
|
|
|
2021-10-31 18:34:44 +03:00
|
|
|
When the specified client certificate does not match any of the
|
2018-04-30 11:26:26 +03:00
|
|
|
server-specified DNs, the OpenSSL and GnuTLS backends behave differently.
|
|
|
|
The github discussion may contain a solution.
|
|
|
|
|
|
|
|
See https://github.com/curl/curl/issues/1411
|
2016-05-17 12:13:48 +03:00
|
|
|
|
2019-03-07 15:14:51 +03:00
|
|
|
2.7 Client cert (MTLS) issues with Schannel
|
|
|
|
|
|
|
|
See https://github.com/curl/curl/issues/3145
|
|
|
|
|
2019-06-25 00:23:13 +03:00
|
|
|
2.8 Schannel disable CURLOPT_SSL_VERIFYPEER and verify hostname
|
|
|
|
|
|
|
|
This seems to be a limitation in the underlying Schannel API.
|
|
|
|
|
|
|
|
https://github.com/curl/curl/issues/3284
|
2018-05-31 18:41:42 +03:00
|
|
|
|
2020-08-18 10:24:38 +03:00
|
|
|
2.11 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.
|
|
|
|
|
|
|
|
https://github.com/curl/curl/issues/5488
|
|
|
|
|
2020-11-05 01:56:12 +03:00
|
|
|
2.12 FTPS with Schannel times out file list operation
|
|
|
|
|
|
|
|
"Instead of the command completing, it just sits there until the timeout
|
|
|
|
expires." - the same command line seems to work with other TLS backends and
|
|
|
|
other operating systems. See https://github.com/curl/curl/issues/5284.
|
|
|
|
|
2022-08-13 01:27:57 +03:00
|
|
|
2.13 CURLOPT_CERTINFO results in CURLE_OUT_OF_MEMORY with Schannel
|
|
|
|
|
|
|
|
https://github.com/curl/curl/issues/8741
|
|
|
|
|
2016-04-06 10:20:18 +03:00
|
|
|
3. Email protocols
|
|
|
|
|
|
|
|
3.1 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"
|
2020-11-04 16:02:01 +03:00
|
|
|
https://curl.se/bug/view.cgi?id=1366
|
2016-04-06 10:20:18 +03:00
|
|
|
|
|
|
|
3.2 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.
|
|
|
|
|
2020-01-15 01:22:38 +03:00
|
|
|
3.3 POP3 expects "CRLF.CRLF" eob for some single-line responses
|
2016-06-28 09:24:16 +03:00
|
|
|
|
|
|
|
You have to tell libcurl not to expect a body, when dealing with one line
|
|
|
|
response commands. Please see the POP3 examples and test cases which show
|
2020-11-04 16:02:01 +03:00
|
|
|
this for the NOOP and DELE commands. https://curl.se/bug/?i=740
|
2016-06-28 09:24:16 +03:00
|
|
|
|
2020-01-15 01:22:38 +03:00
|
|
|
3.4 AUTH PLAIN for SMTP is not working on all servers
|
2020-01-09 18:19:34 +03:00
|
|
|
|
2021-10-31 18:34:44 +03:00
|
|
|
Specifying "--login-options AUTH=PLAIN" on the command line does not seem to
|
2020-01-09 18:19:34 +03:00
|
|
|
work correctly.
|
|
|
|
|
|
|
|
See https://github.com/curl/curl/issues/4080
|
2016-04-06 10:20:18 +03:00
|
|
|
|
2023-07-31 09:47:22 +03:00
|
|
|
3.5 APOP authentication fails on POP3
|
|
|
|
|
|
|
|
See https://github.com/curl/curl/issues/10073
|
|
|
|
|
2016-04-06 10:20:18 +03:00
|
|
|
4. Command line
|
|
|
|
|
|
|
|
5. Build and portability issues
|
|
|
|
|
2020-05-15 17:58:45 +03:00
|
|
|
5.1 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 https://github.com/curl/curl/issues/5176
|
|
|
|
|
2016-04-06 10:20:18 +03:00
|
|
|
5.2 curl-config --libs contains private details
|
|
|
|
|
|
|
|
"curl-config --libs" will 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.
|
|
|
|
|
2023-07-23 18:00:29 +03:00
|
|
|
5.3 building for old macOS fails with gcc
|
|
|
|
|
|
|
|
Building curl for certain old macOS versions fails when gcc is used. We
|
|
|
|
command using clang in those cases.
|
|
|
|
|
|
|
|
See https://github.com/curl/curl/issues/11441
|
|
|
|
|
2023-07-31 09:53:55 +03:00
|
|
|
5.4 build for iOS simulator on macOS 13.2 with Xcode 14
|
|
|
|
|
|
|
|
https://github.com/curl/curl/issues/11215
|
|
|
|
|
2021-10-31 18:34:44 +03:00
|
|
|
5.5 cannot handle Unicode arguments in non-Unicode builds on Windows
|
2016-04-06 10:20:18 +03:00
|
|
|
|
2021-10-31 18:34:44 +03:00
|
|
|
If a URL or filename cannot be encoded using the user's current codepage then
|
2016-04-06 10:20:18 +03:00
|
|
|
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
|
2020-01-03 01:07:34 +03:00
|
|
|
and libcurl are not equipped for that at the moment except when built with
|
2021-10-31 18:34:44 +03:00
|
|
|
_UNICODE and UNICODE defined. And, except for Cygwin, Windows cannot use UTF-8
|
2020-01-03 01:07:34 +03:00
|
|
|
as a locale.
|
2016-04-06 10:20:18 +03:00
|
|
|
|
2020-11-04 16:02:01 +03:00
|
|
|
https://curl.se/bug/?i=345
|
|
|
|
https://curl.se/bug/?i=731
|
|
|
|
https://curl.se/bug/?i=3747
|
2016-04-06 09:43:13 +03:00
|
|
|
|
2016-10-16 13:54:59 +03:00
|
|
|
5.9 Utilize Requires.private directives in libcurl.pc
|
|
|
|
|
|
|
|
https://github.com/curl/curl/issues/864
|
|
|
|
|
2020-03-05 16:27:14 +03:00
|
|
|
5.11 configure --with-gssapi with Heimdal is ignored on macOS
|
|
|
|
|
|
|
|
... unless you also pass --with-gssapi-libs
|
|
|
|
|
|
|
|
https://github.com/curl/curl/issues/3841
|
|
|
|
|
2023-04-13 19:15:31 +03:00
|
|
|
5.12 flaky CI builds
|
2021-07-06 00:30:44 +03:00
|
|
|
|
|
|
|
We run many CI builds for each commit and PR on github, and especially a
|
2021-11-01 15:43:11 +03:00
|
|
|
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
|
2021-10-31 18:34:44 +03:00
|
|
|
the project who (rightfully) do not expect this.
|
2021-07-06 00:30:44 +03:00
|
|
|
|
|
|
|
See https://github.com/curl/curl/issues/6972
|
2022-08-10 10:23:25 +03:00
|
|
|
|
|
|
|
5.13 long paths are not fully supported on Windows
|
|
|
|
|
|
|
|
curl on Windows cannot access long paths (paths longer than 260 characters).
|
|
|
|
However, 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 https://github.com/curl/curl/issues/8361
|
2021-07-06 00:30:44 +03:00
|
|
|
|
2022-08-13 10:47:12 +03:00
|
|
|
5.14 Windows Unicode builds use homedir 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 https://github.com/curl/curl/pull/7252 and
|
|
|
|
https://github.com/curl/curl/pull/7281
|
|
|
|
|
2016-04-06 10:20:18 +03:00
|
|
|
6. Authentication
|
|
|
|
|
|
|
|
6.1 NTLM authentication and unicode
|
|
|
|
|
|
|
|
NTLM authentication involving unicode user name or password only works
|
2020-08-07 18:11:52 +03:00
|
|
|
properly if built with UNICODE defined together with the Schannel
|
2016-04-06 10:20:18 +03:00
|
|
|
backend. The original problem was mentioned in:
|
2020-11-04 16:02:01 +03:00
|
|
|
https://curl.se/mail/lib-2009-10/0024.html
|
|
|
|
https://curl.se/bug/view.cgi?id=896
|
2016-04-06 10:20:18 +03:00
|
|
|
|
2020-08-07 18:11:52 +03:00
|
|
|
The Schannel version verified to work as mentioned in
|
2020-11-04 16:02:01 +03:00
|
|
|
https://curl.se/mail/lib-2012-07/0073.html
|
2016-04-06 10:20:18 +03:00
|
|
|
|
|
|
|
6.2 MIT Kerberos for Windows build
|
|
|
|
|
|
|
|
libcurl fails to build with MIT Kerberos for Windows (KfW) due to KfW's
|
|
|
|
library header files exporting symbols/macros that should be kept private to
|
2017-08-08 22:22:34 +03:00
|
|
|
the KfW library. See ticket #5601 at https://krbdev.mit.edu/rt/
|
2016-04-06 10:20:18 +03:00
|
|
|
|
|
|
|
6.3 NTLM in system context uses wrong name
|
|
|
|
|
|
|
|
NTLM authentication using SSPI (on Windows) when (lib)curl is running in
|
|
|
|
"system context" will make it use wrong(?) user name - at least when compared
|
2020-11-04 16:02:01 +03:00
|
|
|
to what winhttp does. See https://curl.se/bug/view.cgi?id=535
|
2016-04-06 10:20:18 +03:00
|
|
|
|
2016-08-31 13:22:12 +03:00
|
|
|
6.4 Negotiate and Kerberos V5 need a fake user name
|
|
|
|
|
|
|
|
In order to get Negotiate (SPNEGO) authentication to work in HTTP or Kerberos
|
2021-12-17 13:02:18 +03:00
|
|
|
V5 in the email protocols, you need to provide a (fake) user name (this
|
2016-08-31 13:22:12 +03:00
|
|
|
concerns both curl and the lib) because the code wrongly only considers
|
|
|
|
authentication if there's a user name provided by setting
|
2020-11-04 16:02:01 +03:00
|
|
|
conn->bits.user_passwd in url.c https://curl.se/bug/view.cgi?id=440 How?
|
|
|
|
https://curl.se/mail/lib-2004-08/0182.html A possible solution is to
|
2016-08-31 13:22:12 +03:00
|
|
|
either modify this variable to be set or introduce a variable such as
|
|
|
|
new conn->bits.want_authentication which is set when any of the authentication
|
|
|
|
options are set.
|
2016-04-06 10:20:18 +03:00
|
|
|
|
2021-10-31 18:34:44 +03:00
|
|
|
6.5 NTLM does not support password with § character
|
2018-06-14 15:04:48 +03:00
|
|
|
|
|
|
|
https://github.com/curl/curl/issues/2120
|
2016-04-06 10:20:18 +03:00
|
|
|
|
2018-11-09 18:50:39 +03:00
|
|
|
6.6 libcurl can fail to try alternatives with --proxy-any
|
|
|
|
|
|
|
|
When connecting via a proxy using --proxy-any, a failure to establish an
|
|
|
|
authentication will cause 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
|
2021-10-31 18:34:44 +03:00
|
|
|
fails to set up Kerberos authentication will not proceed to try authentication
|
2018-11-09 18:50:39 +03:00
|
|
|
using NTLM.
|
|
|
|
|
|
|
|
https://github.com/curl/curl/issues/876
|
|
|
|
|
2021-10-31 18:34:44 +03:00
|
|
|
6.7 Do not clear digest for single realm
|
2019-06-25 00:26:59 +03:00
|
|
|
|
|
|
|
https://github.com/curl/curl/issues/3267
|
|
|
|
|
2020-12-14 09:08:15 +03:00
|
|
|
6.9 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).
|
|
|
|
|
|
|
|
https://github.com/curl/curl/issues/6302
|
|
|
|
|
2020-12-25 19:16:19 +03:00
|
|
|
6.10 curl never completes Negotiate over HTTP
|
|
|
|
|
2021-10-31 18:34:44 +03:00
|
|
|
Apparently it is not working correctly...?
|
2020-12-25 19:16:19 +03:00
|
|
|
|
|
|
|
See https://github.com/curl/curl/issues/5235
|
|
|
|
|
2021-06-16 15:29:11 +03:00
|
|
|
6.11 Negotiate on Windows fails
|
|
|
|
|
2022-05-20 14:43:35 +03:00
|
|
|
When using --negotiate (or NTLM) with curl on Windows, SSL/TLS handshake
|
2021-06-16 15:29:11 +03:00
|
|
|
fails despite having a valid kerberos ticket cached. Works without any issue
|
|
|
|
in Unix/Linux.
|
|
|
|
|
|
|
|
https://github.com/curl/curl/issues/5881
|
|
|
|
|
2021-10-31 18:34:44 +03:00
|
|
|
6.12 cannot use Secure Transport with Crypto Token Kit
|
2021-08-17 11:29:00 +03:00
|
|
|
|
|
|
|
https://github.com/curl/curl/issues/7048
|
2021-06-16 15:29:11 +03:00
|
|
|
|
2022-08-08 17:45:51 +03:00
|
|
|
6.13 Negotiate authentication against Hadoop HDFS
|
|
|
|
|
|
|
|
https://github.com/curl/curl/issues/8264
|
|
|
|
|
2016-04-06 10:20:18 +03:00
|
|
|
7. FTP
|
|
|
|
|
|
|
|
7.3 FTP with NOBODY and FAILONERROR
|
|
|
|
|
|
|
|
It seems sensible to be able to use CURLOPT_NOBODY and CURLOPT_FAILONERROR
|
|
|
|
with FTP to detect if a file exists or not, but it is not working:
|
2020-11-04 16:02:01 +03:00
|
|
|
https://curl.se/mail/lib-2008-07/0295.html
|
2016-04-06 10:20:18 +03:00
|
|
|
|
|
|
|
7.4 FTP with ACCT
|
|
|
|
|
|
|
|
When doing an operation over FTP that requires the ACCT command (but not when
|
2021-10-31 18:34:44 +03:00
|
|
|
logging in), the operation will fail since libcurl does not detect this and
|
2016-04-06 10:20:18 +03:00
|
|
|
thus fails to issue the correct command:
|
2020-11-04 16:02:01 +03:00
|
|
|
https://curl.se/bug/view.cgi?id=635
|
2016-04-06 10:20:18 +03:00
|
|
|
|
2021-08-24 19:54:03 +03:00
|
|
|
7.11 FTPS upload data loss with TLS 1.3
|
|
|
|
|
|
|
|
During FTPS upload curl does not attempt to read TLS handshake messages sent
|
|
|
|
after the initial handshake. OpenSSL servers running TLS 1.3 may send such a
|
|
|
|
message. When curl closes the upload connection if unread data has been
|
|
|
|
received (such as a TLS handshake message) then the TCP protocol sends an
|
|
|
|
RST to the server, which may cause the server to discard or truncate the
|
2021-10-31 18:34:44 +03:00
|
|
|
upload if it has not read all sent data yet, and then return an error to curl
|
2021-08-24 19:54:03 +03:00
|
|
|
on the control channel connection.
|
|
|
|
|
|
|
|
Since 7.78.0 this is mostly fixed. curl will do a single read before closing
|
|
|
|
TLS connections (which causes the TLS library to read handshake messages),
|
|
|
|
however there is still possibility of an RST if more messages need to be read
|
|
|
|
or a message arrives after the read but before close (network race condition).
|
|
|
|
|
|
|
|
https://github.com/curl/curl/issues/6149
|
|
|
|
|
2022-08-13 01:32:12 +03:00
|
|
|
7.12 FTPS directory listing hangs on Windows with Schannel
|
|
|
|
|
|
|
|
https://github.com/curl/curl/issues/9161
|
|
|
|
|
2016-04-06 10:20:18 +03:00
|
|
|
9. SFTP and SCP
|
|
|
|
|
2021-10-31 18:34:44 +03:00
|
|
|
9.1 SFTP does not do CURLOPT_POSTQUOTE correct
|
2016-04-06 10:20:18 +03:00
|
|
|
|
|
|
|
When libcurl sends CURLOPT_POSTQUOTE commands when connected to a SFTP server
|
|
|
|
using the multi interface, the commands are not being sent correctly and
|
|
|
|
instead the connection is "cancelled" (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
|
2020-11-04 16:02:01 +03:00
|
|
|
https://curl.se/bug/view.cgi?id=748
|
2016-04-06 10:20:18 +03:00
|
|
|
|
2021-10-31 18:34:44 +03:00
|
|
|
9.2 wolfssh: publickey auth does not work
|
2020-05-15 18:01:32 +03:00
|
|
|
|
|
|
|
When building curl to use the wolfSSH backend for SFTP, the publickey
|
2021-10-31 18:34:44 +03:00
|
|
|
authentication does not work. This is simply functionality not written for curl
|
2020-05-15 18:01:32 +03:00
|
|
|
yet, the necessary API for make this work is provided by wolfSSH.
|
|
|
|
|
|
|
|
See https://github.com/curl/curl/issues/4820
|
2016-04-06 10:20:18 +03:00
|
|
|
|
2020-12-21 00:49:36 +03:00
|
|
|
9.3 Remote recursive folder creation with SFTP
|
|
|
|
|
|
|
|
On this servers, the curl fails to create directories on the remote server
|
2022-01-27 04:12:50 +03:00
|
|
|
even when the CURLOPT_FTP_CREATE_MISSING_DIRS option is set.
|
2020-12-21 00:49:36 +03:00
|
|
|
|
|
|
|
See https://github.com/curl/curl/issues/5204
|
|
|
|
|
2022-08-13 01:25:31 +03:00
|
|
|
9.4 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 will be stuck, even if curl is configured with a timeout.
|
|
|
|
|
|
|
|
https://github.com/curl/curl/issues/8632
|
|
|
|
|
2023-07-28 00:43:28 +03:00
|
|
|
9.5 cygwin: "WARNING: UNPROTECTED PRIVATE KEY FILE!"
|
|
|
|
|
|
|
|
Running SCP and SFTP tests on cygwin makes this warning message appear.
|
|
|
|
|
|
|
|
https://github.com/curl/curl/issues/11244
|
2020-12-21 00:49:36 +03:00
|
|
|
|
2016-04-06 10:20:18 +03:00
|
|
|
10. SOCKS
|
|
|
|
|
|
|
|
10.3 FTPS over SOCKS
|
|
|
|
|
2021-10-31 18:34:44 +03:00
|
|
|
libcurl does not support FTPS over a SOCKS proxy.
|
2016-04-06 10:20:18 +03:00
|
|
|
|
2016-04-08 14:21:52 +03:00
|
|
|
|
|
|
|
11. Internals
|
|
|
|
|
2016-04-08 14:23:28 +03:00
|
|
|
11.2 error buffer not set if connection to multiple addresses fails
|
|
|
|
|
|
|
|
If you ask libcurl to resolve a hostname like example.com to IPv6 addresses
|
|
|
|
only. But you only have IPv4 connectivity. libcurl will correctly fail with
|
|
|
|
CURLE_COULDNT_CONNECT. But the error buffer set by CURLOPT_ERRORBUFFER
|
|
|
|
remains empty. Issue: https://github.com/curl/curl/issues/544
|
2016-04-08 17:49:49 +03:00
|
|
|
|
2017-08-18 17:04:55 +03:00
|
|
|
11.4 HTTP test server 'connection-monitor' problems
|
|
|
|
|
2021-10-31 18:34:44 +03:00
|
|
|
The 'connection-monitor' feature of the sws HTTP test server does not work
|
2017-08-18 17:04:55 +03:00
|
|
|
properly if some tests are run in unexpected order. Like 1509 and then 1525.
|
|
|
|
|
|
|
|
See https://github.com/curl/curl/issues/868
|
|
|
|
|
2018-04-30 11:17:10 +03:00
|
|
|
11.5 Connection information when using TCP Fast Open
|
|
|
|
|
|
|
|
CURLINFO_LOCAL_PORT (and possibly a few other) fails when TCP Fast Open is
|
|
|
|
enabled.
|
|
|
|
|
2019-12-16 18:17:16 +03:00
|
|
|
See https://github.com/curl/curl/issues/1332 and
|
|
|
|
https://github.com/curl/curl/issues/4296
|
2018-04-30 11:17:10 +03:00
|
|
|
|
2020-11-18 18:43:56 +03:00
|
|
|
12. LDAP
|
2016-04-08 17:49:49 +03:00
|
|
|
|
|
|
|
12.1 OpenLDAP hangs after returning results
|
|
|
|
|
2022-09-21 00:30:19 +03:00
|
|
|
By configuration defaults, OpenLDAP automatically chase referrals on
|
2016-04-08 17:49:49 +03:00
|
|
|
secondary socket descriptors. The OpenLDAP backend is asynchronous and thus
|
|
|
|
should monitor all socket descriptors involved. Currently, these secondary
|
2022-09-21 00:30:19 +03:00
|
|
|
descriptors are not monitored, causing OpenLDAP library to never receive
|
2016-04-08 17:49:49 +03:00
|
|
|
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 https://github.com/curl/curl/issues/622 and
|
2020-11-04 16:02:01 +03:00
|
|
|
https://curl.se/mail/lib-2016-01/0101.html
|
2016-04-25 12:20:23 +03:00
|
|
|
|
2019-10-12 23:45:13 +03:00
|
|
|
12.2 LDAP on Windows does authentication wrong?
|
|
|
|
|
|
|
|
https://github.com/curl/curl/issues/3116
|
2016-04-25 12:20:23 +03:00
|
|
|
|
2021-10-31 18:34:44 +03:00
|
|
|
12.3 LDAP on Windows does not work
|
2019-12-16 18:15:39 +03:00
|
|
|
|
|
|
|
A simple curl command line getting "ldap://ldap.forumsys.com" returns an
|
|
|
|
error that says "no memory" !
|
|
|
|
|
|
|
|
https://github.com/curl/curl/issues/4261
|
|
|
|
|
2016-10-16 12:53:54 +03:00
|
|
|
13. TCP/IP
|
2016-04-25 12:20:23 +03:00
|
|
|
|
2022-01-01 19:59:56 +03:00
|
|
|
13.2 Trying local ports fails on Windows
|
|
|
|
|
|
|
|
This makes '--local-port [range]' to not work since curl can't properly
|
|
|
|
detect if a port is already in use, so it'll try the first port, use that and
|
|
|
|
then subsequently fail anyway if that was actually in use.
|
|
|
|
|
|
|
|
https://github.com/curl/curl/issues/8112
|
|
|
|
|
2020-11-18 18:43:56 +03:00
|
|
|
15. CMake
|
|
|
|
|
2023-07-31 09:51:32 +03:00
|
|
|
15.1 cmake outputs: no version information available
|
|
|
|
|
|
|
|
Something in the SONAME generation seems to be wrong in the cmake build.
|
|
|
|
|
|
|
|
https://github.com/curl/curl/issues/11158
|
|
|
|
|
2020-11-18 18:43:56 +03:00
|
|
|
15.2 support build with GnuTLS
|
|
|
|
|
|
|
|
15.3 unusable tool_hugehelp.c with MinGW
|
|
|
|
|
|
|
|
see https://github.com/curl/curl/issues/3125
|
|
|
|
|
|
|
|
15.4 build docs/curl.1
|
|
|
|
|
2021-10-31 18:34:44 +03:00
|
|
|
The cmake build does not create the docs/curl.1 file and therefore must rely on
|
2020-11-18 18:43:56 +03:00
|
|
|
it being there already. This makes the --manual option not work and test
|
2021-10-31 18:34:44 +03:00
|
|
|
cases like 1139 cannot function.
|
2020-11-18 18:47:46 +03:00
|
|
|
|
2020-11-18 18:49:29 +03:00
|
|
|
15.6 uses -lpthread instead of Threads::Threads
|
|
|
|
|
|
|
|
See https://github.com/curl/curl/issues/6166
|
2020-11-18 18:50:41 +03:00
|
|
|
|
|
|
|
15.7 generated .pc file contains strange entries
|
|
|
|
|
|
|
|
The Libs.private field of the generated .pc file contains -lgcc -lgcc_s -lc
|
|
|
|
-lgcc -lgcc_s
|
|
|
|
|
|
|
|
See https://github.com/curl/curl/issues/6167
|
2020-11-18 18:53:28 +03:00
|
|
|
|
|
|
|
15.8 libcurl.pc uses absolute library paths
|
|
|
|
|
|
|
|
The libcurl.pc file generated by cmake contains things like Libs.private:
|
|
|
|
/usr/lib64/libssl.so /usr/lib64/libcrypto.so /usr/lib64/libz.so. The
|
|
|
|
autotools equivalent would say Libs.private: -lssl -lcrypto -lz
|
|
|
|
|
|
|
|
See https://github.com/curl/curl/issues/6169
|
2020-11-18 18:56:17 +03:00
|
|
|
|
2021-01-28 11:27:41 +03:00
|
|
|
15.11 ExternalProject_Add does not set CURL_CA_PATH
|
|
|
|
|
|
|
|
CURL_CA_BUNDLE and CURL_CA_PATH are not set properly when cmake's
|
|
|
|
ExternalProject_Add is used to build curl as a dependency.
|
|
|
|
|
|
|
|
See https://github.com/curl/curl/issues/6313
|
|
|
|
|
2021-08-16 10:40:32 +03:00
|
|
|
15.13 CMake build with MIT Kerberos does not work
|
|
|
|
|
|
|
|
Minimum CMake version was bumped in curl 7.71.0 (#5358) Since CMake 3.2
|
2021-12-09 14:03:35 +03:00
|
|
|
try_compile started respecting the CMAKE_EXE_FLAGS. The code dealing with
|
2021-08-16 10:40:32 +03:00
|
|
|
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.
|
|
|
|
|
|
|
|
https://github.com/curl/curl/issues/6904
|
|
|
|
|
2021-01-28 10:24:13 +03:00
|
|
|
16. Applications
|
|
|
|
|
2021-05-03 18:22:52 +03:00
|
|
|
17. HTTP/2
|
|
|
|
|
|
|
|
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.
|
|
|
|
|
2021-05-03 18:27:35 +03:00
|
|
|
17.3 ENHANCE_YOUR_CALM causes infinite retries
|
|
|
|
|
|
|
|
Infinite retries with 2 parallel requests on one connection receiving GOAWAY
|
|
|
|
with ENHANCE_YOUR_CALM error code.
|
|
|
|
|
|
|
|
See https://github.com/curl/curl/issues/5119
|
|
|
|
|
2021-05-03 18:22:52 +03:00
|
|
|
18. HTTP/3
|
|
|
|
|
2023-04-13 19:15:31 +03:00
|
|
|
18.1 connection migration does not work
|
2021-09-20 00:20:42 +03:00
|
|
|
|
|
|
|
https://github.com/curl/curl/issues/7695
|