1*6236dae4SAndroid Build Coastguard Worker _ _ ____ _ 2*6236dae4SAndroid Build Coastguard Worker ___| | | | _ \| | 3*6236dae4SAndroid Build Coastguard Worker / __| | | | |_) | | 4*6236dae4SAndroid Build Coastguard Worker | (__| |_| | _ <| |___ 5*6236dae4SAndroid Build Coastguard Worker \___|\___/|_| \_\_____| 6*6236dae4SAndroid Build Coastguard Worker 7*6236dae4SAndroid Build Coastguard Worker Known Bugs 8*6236dae4SAndroid Build Coastguard Worker 9*6236dae4SAndroid Build Coastguard WorkerThese are problems and bugs known to exist at the time of this release. Feel 10*6236dae4SAndroid Build Coastguard Workerfree to join in and help us correct one or more of these. Also be sure to 11*6236dae4SAndroid Build Coastguard Workercheck the changelog of the current development status, as one or more of these 12*6236dae4SAndroid Build Coastguard Workerproblems may have been fixed or changed somewhat since this was written. 13*6236dae4SAndroid Build Coastguard Worker 14*6236dae4SAndroid Build Coastguard Worker 1. HTTP 15*6236dae4SAndroid Build Coastguard Worker 16*6236dae4SAndroid Build Coastguard Worker 2. TLS 17*6236dae4SAndroid Build Coastguard Worker 2.1 IMAPS connection fails with Rustls error 18*6236dae4SAndroid Build Coastguard Worker 2.3 Unable to use PKCS12 certificate with Secure Transport 19*6236dae4SAndroid Build Coastguard Worker 2.4 Secure Transport does not import PKCS#12 client certificates without a password 20*6236dae4SAndroid Build Coastguard Worker 2.5 Client cert handling with Issuer DN differs between backends 21*6236dae4SAndroid Build Coastguard Worker 2.7 Client cert (MTLS) issues with Schannel 22*6236dae4SAndroid Build Coastguard Worker 2.11 Schannel TLS 1.2 handshake bug in old Windows versions 23*6236dae4SAndroid Build Coastguard Worker 2.13 CURLOPT_CERTINFO results in CURLE_OUT_OF_MEMORY with Schannel 24*6236dae4SAndroid Build Coastguard Worker 25*6236dae4SAndroid Build Coastguard Worker 3. Email protocols 26*6236dae4SAndroid Build Coastguard Worker 3.1 IMAP SEARCH ALL truncated response 27*6236dae4SAndroid Build Coastguard Worker 3.2 No disconnect command 28*6236dae4SAndroid Build Coastguard Worker 3.4 AUTH PLAIN for SMTP is not working on all servers 29*6236dae4SAndroid Build Coastguard Worker 3.5 APOP authentication fails on POP3 30*6236dae4SAndroid Build Coastguard Worker 3.6 POP3 issue when reading small chunks 31*6236dae4SAndroid Build Coastguard Worker 32*6236dae4SAndroid Build Coastguard Worker 4. Command line 33*6236dae4SAndroid Build Coastguard Worker 4.1 -T /dev/stdin may upload with an incorrect content length 34*6236dae4SAndroid Build Coastguard Worker 4.2 -T - always uploads chunked 35*6236dae4SAndroid Build Coastguard Worker 36*6236dae4SAndroid Build Coastguard Worker 5. Build and portability issues 37*6236dae4SAndroid Build Coastguard Worker 5.1 OS400 port requires deprecated IBM library 38*6236dae4SAndroid Build Coastguard Worker 5.2 curl-config --libs contains private details 39*6236dae4SAndroid Build Coastguard Worker 5.3 LDFLAGS passed too late making libs linked incorrectly 40*6236dae4SAndroid Build Coastguard Worker 5.6 Cygwin: make install installs curl-config.1 twice 41*6236dae4SAndroid Build Coastguard Worker 5.11 configure --with-gssapi with Heimdal is ignored on macOS 42*6236dae4SAndroid Build Coastguard Worker 5.12 flaky CI builds 43*6236dae4SAndroid Build Coastguard Worker 5.13 long paths are not fully supported on Windows 44*6236dae4SAndroid Build Coastguard Worker 5.15 Unicode on Windows 45*6236dae4SAndroid Build Coastguard Worker 46*6236dae4SAndroid Build Coastguard Worker 6. Authentication 47*6236dae4SAndroid Build Coastguard Worker 6.2 MIT Kerberos for Windows build 48*6236dae4SAndroid Build Coastguard Worker 6.3 NTLM in system context uses wrong name 49*6236dae4SAndroid Build Coastguard Worker 6.5 NTLM does not support password with § character 50*6236dae4SAndroid Build Coastguard Worker 6.6 libcurl can fail to try alternatives with --proxy-any 51*6236dae4SAndroid Build Coastguard Worker 6.7 Do not clear digest for single realm 52*6236dae4SAndroid Build Coastguard Worker 6.8 Heimdal memory leaks 53*6236dae4SAndroid Build Coastguard Worker 6.9 SHA-256 digest not supported in Windows SSPI builds 54*6236dae4SAndroid Build Coastguard Worker 6.10 curl never completes Negotiate over HTTP 55*6236dae4SAndroid Build Coastguard Worker 6.11 Negotiate on Windows fails 56*6236dae4SAndroid Build Coastguard Worker 6.12 cannot use Secure Transport with Crypto Token Kit 57*6236dae4SAndroid Build Coastguard Worker 6.13 Negotiate against Hadoop HDFS 58*6236dae4SAndroid Build Coastguard Worker 59*6236dae4SAndroid Build Coastguard Worker 7. FTP 60*6236dae4SAndroid Build Coastguard Worker 7.4 FTP with ACCT 61*6236dae4SAndroid Build Coastguard Worker 7.12 FTPS directory listing hangs on Windows with Schannel 62*6236dae4SAndroid Build Coastguard Worker 63*6236dae4SAndroid Build Coastguard Worker 9. SFTP and SCP 64*6236dae4SAndroid Build Coastguard Worker 9.1 SFTP does not do CURLOPT_POSTQUOTE correct 65*6236dae4SAndroid Build Coastguard Worker 9.2 wolfssh: publickey auth does not work 66*6236dae4SAndroid Build Coastguard Worker 9.3 Remote recursive folder creation with SFTP 67*6236dae4SAndroid Build Coastguard Worker 9.4 libssh blocking and infinite loop problem 68*6236dae4SAndroid Build Coastguard Worker 9.5 Cygwin: "WARNING: UNPROTECTED PRIVATE KEY FILE!" 69*6236dae4SAndroid Build Coastguard Worker 70*6236dae4SAndroid Build Coastguard Worker 10. SOCKS 71*6236dae4SAndroid Build Coastguard Worker 72*6236dae4SAndroid Build Coastguard Worker 11. Internals 73*6236dae4SAndroid Build Coastguard Worker 11.1 gssapi library name + version is missing in curl_version_info() 74*6236dae4SAndroid Build Coastguard Worker 11.2 error buffer not set if connection to multiple addresses fails 75*6236dae4SAndroid Build Coastguard Worker 11.3 TFTP tests fail on OpenBSD 76*6236dae4SAndroid Build Coastguard Worker 11.4 HTTP test server 'connection-monitor' problems 77*6236dae4SAndroid Build Coastguard Worker 11.5 Connection information when using TCP Fast Open 78*6236dae4SAndroid Build Coastguard Worker 11.6 test cases sometimes timeout 79*6236dae4SAndroid Build Coastguard Worker 11.7 CURLOPT_CONNECT_TO does not work for HTTPS proxy 80*6236dae4SAndroid Build Coastguard Worker 11.8 WinIDN test failures 81*6236dae4SAndroid Build Coastguard Worker 82*6236dae4SAndroid Build Coastguard Worker 12. LDAP 83*6236dae4SAndroid Build Coastguard Worker 12.1 OpenLDAP hangs after returning results 84*6236dae4SAndroid Build Coastguard Worker 12.2 LDAP on Windows does authentication wrong? 85*6236dae4SAndroid Build Coastguard Worker 12.3 LDAP on Windows does not work 86*6236dae4SAndroid Build Coastguard Worker 12.4 LDAPS requests to ActiveDirectory server hang 87*6236dae4SAndroid Build Coastguard Worker 88*6236dae4SAndroid Build Coastguard Worker 13. TCP/IP 89*6236dae4SAndroid Build Coastguard Worker 13.2 Trying local ports fails on Windows 90*6236dae4SAndroid Build Coastguard Worker 91*6236dae4SAndroid Build Coastguard Worker 15. CMake 92*6236dae4SAndroid Build Coastguard Worker 15.1 cmake outputs: no version information available 93*6236dae4SAndroid Build Coastguard Worker 15.2 support build with GnuTLS 94*6236dae4SAndroid Build Coastguard Worker 15.3 unusable tool_hugehelp.c with MinGW 95*6236dae4SAndroid Build Coastguard Worker 15.6 uses -lpthread instead of Threads::Threads 96*6236dae4SAndroid Build Coastguard Worker 15.7 generated .pc file contains strange entries 97*6236dae4SAndroid Build Coastguard Worker 15.13 CMake build with MIT Kerberos does not work 98*6236dae4SAndroid Build Coastguard Worker 99*6236dae4SAndroid Build Coastguard Worker 16. aws-sigv4 100*6236dae4SAndroid Build Coastguard Worker 16.2 aws-sigv4 does not handle multipart/form-data correctly 101*6236dae4SAndroid Build Coastguard Worker 16.3 aws-sigv4 has problems with particular URLs 102*6236dae4SAndroid Build Coastguard Worker 16.6 aws-sigv4 does not behave well with AWS VPC Lattice 103*6236dae4SAndroid Build Coastguard Worker 104*6236dae4SAndroid Build Coastguard Worker 17. HTTP/2 105*6236dae4SAndroid Build Coastguard Worker 17.1 HTTP/2 prior knowledge over proxy 106*6236dae4SAndroid Build Coastguard Worker 17.2 HTTP/2 frames while in the connection pool kill reuse 107*6236dae4SAndroid Build Coastguard Worker 17.3 ENHANCE_YOUR_CALM causes infinite retries 108*6236dae4SAndroid Build Coastguard Worker 17.4 HTTP/2 + TLS spends a lot of time in recv 109*6236dae4SAndroid Build Coastguard Worker 110*6236dae4SAndroid Build Coastguard Worker 18. HTTP/3 111*6236dae4SAndroid Build Coastguard Worker 18.1 connection migration does not work 112*6236dae4SAndroid Build Coastguard Worker 18.2 quiche: QUIC connection is draining 113*6236dae4SAndroid Build Coastguard Worker 114*6236dae4SAndroid Build Coastguard Worker 19. RTSP 115*6236dae4SAndroid Build Coastguard Worker 19.1 Some methods do not support response bodies 116*6236dae4SAndroid Build Coastguard Worker 117*6236dae4SAndroid Build Coastguard Worker============================================================================== 118*6236dae4SAndroid Build Coastguard Worker 119*6236dae4SAndroid Build Coastguard Worker1. HTTP 120*6236dae4SAndroid Build Coastguard Worker 121*6236dae4SAndroid Build Coastguard Worker2. TLS 122*6236dae4SAndroid Build Coastguard Worker 123*6236dae4SAndroid Build Coastguard Worker2.1 IMAPS connection fails with Rustls error 124*6236dae4SAndroid Build Coastguard Worker 125*6236dae4SAndroid Build Coastguard Worker https://github.com/curl/curl/issues/10457 126*6236dae4SAndroid Build Coastguard Worker 127*6236dae4SAndroid Build Coastguard Worker2.3 Unable to use PKCS12 certificate with Secure Transport 128*6236dae4SAndroid Build Coastguard Worker 129*6236dae4SAndroid Build Coastguard Worker See https://github.com/curl/curl/issues/5403 130*6236dae4SAndroid Build Coastguard Worker 131*6236dae4SAndroid Build Coastguard Worker2.4 Secure Transport does not import PKCS#12 client certificates without a password 132*6236dae4SAndroid Build Coastguard Worker 133*6236dae4SAndroid Build Coastguard Worker libcurl calls SecPKCS12Import with the PKCS#12 client certificate, but that 134*6236dae4SAndroid Build Coastguard Worker function rejects certificates that do not have a password. 135*6236dae4SAndroid Build Coastguard Worker https://github.com/curl/curl/issues/1308 136*6236dae4SAndroid Build Coastguard Worker 137*6236dae4SAndroid Build Coastguard Worker2.5 Client cert handling with Issuer DN differs between backends 138*6236dae4SAndroid Build Coastguard Worker 139*6236dae4SAndroid Build Coastguard Worker When the specified client certificate does not match any of the 140*6236dae4SAndroid Build Coastguard Worker server-specified DNs, the OpenSSL and GnuTLS backends behave differently. 141*6236dae4SAndroid Build Coastguard Worker The github discussion may contain a solution. 142*6236dae4SAndroid Build Coastguard Worker 143*6236dae4SAndroid Build Coastguard Worker See https://github.com/curl/curl/issues/1411 144*6236dae4SAndroid Build Coastguard Worker 145*6236dae4SAndroid Build Coastguard Worker2.7 Client cert (MTLS) issues with Schannel 146*6236dae4SAndroid Build Coastguard Worker 147*6236dae4SAndroid Build Coastguard Worker See https://github.com/curl/curl/issues/3145 148*6236dae4SAndroid Build Coastguard Worker 149*6236dae4SAndroid Build Coastguard Worker2.11 Schannel TLS 1.2 handshake bug in old Windows versions 150*6236dae4SAndroid Build Coastguard Worker 151*6236dae4SAndroid Build Coastguard Worker In old versions of Windows such as 7 and 8.1 the Schannel TLS 1.2 handshake 152*6236dae4SAndroid Build Coastguard Worker implementation likely has a bug that can rarely cause the key exchange to 153*6236dae4SAndroid Build Coastguard Worker fail, resulting in error SEC_E_BUFFER_TOO_SMALL or SEC_E_MESSAGE_ALTERED. 154*6236dae4SAndroid Build Coastguard Worker 155*6236dae4SAndroid Build Coastguard Worker https://github.com/curl/curl/issues/5488 156*6236dae4SAndroid Build Coastguard Worker 157*6236dae4SAndroid Build Coastguard Worker2.13 CURLOPT_CERTINFO results in CURLE_OUT_OF_MEMORY with Schannel 158*6236dae4SAndroid Build Coastguard Worker 159*6236dae4SAndroid Build Coastguard Worker https://github.com/curl/curl/issues/8741 160*6236dae4SAndroid Build Coastguard Worker 161*6236dae4SAndroid Build Coastguard Worker3. Email protocols 162*6236dae4SAndroid Build Coastguard Worker 163*6236dae4SAndroid Build Coastguard Worker3.1 IMAP SEARCH ALL truncated response 164*6236dae4SAndroid Build Coastguard Worker 165*6236dae4SAndroid Build Coastguard Worker IMAP "SEARCH ALL" truncates output on large boxes. "A quick search of the 166*6236dae4SAndroid Build Coastguard Worker code reveals that pingpong.c contains some truncation code, at line 408, when 167*6236dae4SAndroid Build Coastguard Worker it deems the server response to be too large truncating it to 40 characters" 168*6236dae4SAndroid Build Coastguard Worker https://curl.se/bug/view.cgi?id=1366 169*6236dae4SAndroid Build Coastguard Worker 170*6236dae4SAndroid Build Coastguard Worker3.2 No disconnect command 171*6236dae4SAndroid Build Coastguard Worker 172*6236dae4SAndroid Build Coastguard Worker The disconnect commands (LOGOUT and QUIT) may not be sent by IMAP, POP3 and 173*6236dae4SAndroid Build Coastguard Worker SMTP if a failure occurs during the authentication phase of a connection. 174*6236dae4SAndroid Build Coastguard Worker 175*6236dae4SAndroid Build Coastguard Worker3.4 AUTH PLAIN for SMTP is not working on all servers 176*6236dae4SAndroid Build Coastguard Worker 177*6236dae4SAndroid Build Coastguard Worker Specifying "--login-options AUTH=PLAIN" on the command line does not seem to 178*6236dae4SAndroid Build Coastguard Worker work correctly. 179*6236dae4SAndroid Build Coastguard Worker 180*6236dae4SAndroid Build Coastguard Worker See https://github.com/curl/curl/issues/4080 181*6236dae4SAndroid Build Coastguard Worker 182*6236dae4SAndroid Build Coastguard Worker3.5 APOP authentication fails on POP3 183*6236dae4SAndroid Build Coastguard Worker 184*6236dae4SAndroid Build Coastguard Worker See https://github.com/curl/curl/issues/10073 185*6236dae4SAndroid Build Coastguard Worker 186*6236dae4SAndroid Build Coastguard Worker3.6 POP3 issue when reading small chunks 187*6236dae4SAndroid Build Coastguard Worker 188*6236dae4SAndroid Build Coastguard Worker CURL_DBG_SOCK_RMAX=4 ./runtests.pl -v 982 189*6236dae4SAndroid Build Coastguard Worker 190*6236dae4SAndroid Build Coastguard Worker See https://github.com/curl/curl/issues/12063 191*6236dae4SAndroid Build Coastguard Worker 192*6236dae4SAndroid Build Coastguard Worker4. Command line 193*6236dae4SAndroid Build Coastguard Worker 194*6236dae4SAndroid Build Coastguard Worker4.1 -T /dev/stdin may upload with an incorrect content length 195*6236dae4SAndroid Build Coastguard Worker 196*6236dae4SAndroid Build Coastguard Worker -T stats the path to figure out its size in bytes to use it as Content-Length 197*6236dae4SAndroid Build Coastguard Worker if it is a regular file. 198*6236dae4SAndroid Build Coastguard Worker 199*6236dae4SAndroid Build Coastguard Worker The problem with that is that, on BSDs and some other UNIXes (not Linux), 200*6236dae4SAndroid Build Coastguard Worker open(path) may not give you a file descriptor with a 0 offset from the start 201*6236dae4SAndroid Build Coastguard Worker of the file. 202*6236dae4SAndroid Build Coastguard Worker 203*6236dae4SAndroid Build Coastguard Worker See https://github.com/curl/curl/issues/12177 204*6236dae4SAndroid Build Coastguard Worker 205*6236dae4SAndroid Build Coastguard Worker4.2 -T - always uploads chunked 206*6236dae4SAndroid Build Coastguard Worker 207*6236dae4SAndroid Build Coastguard Worker When the `<` shell operator is used. curl should realise that stdin is a 208*6236dae4SAndroid Build Coastguard Worker regular file in this case, and that it can do a non-chunked upload, like it 209*6236dae4SAndroid Build Coastguard Worker would do if you used -T file. 210*6236dae4SAndroid Build Coastguard Worker 211*6236dae4SAndroid Build Coastguard Worker See https://github.com/curl/curl/issues/12171 212*6236dae4SAndroid Build Coastguard Worker 213*6236dae4SAndroid Build Coastguard Worker5. Build and portability issues 214*6236dae4SAndroid Build Coastguard Worker 215*6236dae4SAndroid Build Coastguard Worker5.1 OS400 port requires deprecated IBM library 216*6236dae4SAndroid Build Coastguard Worker 217*6236dae4SAndroid Build Coastguard Worker curl for OS400 requires QADRT to build, which provides ASCII wrappers for 218*6236dae4SAndroid Build Coastguard Worker libc/POSIX functions in the ILE, but IBM no longer supports or even offers 219*6236dae4SAndroid Build Coastguard Worker this library to download. 220*6236dae4SAndroid Build Coastguard Worker 221*6236dae4SAndroid Build Coastguard Worker See https://github.com/curl/curl/issues/5176 222*6236dae4SAndroid Build Coastguard Worker 223*6236dae4SAndroid Build Coastguard Worker5.2 curl-config --libs contains private details 224*6236dae4SAndroid Build Coastguard Worker 225*6236dae4SAndroid Build Coastguard Worker "curl-config --libs" include details set in LDFLAGS when configure is run 226*6236dae4SAndroid Build Coastguard Worker that might be needed only for building libcurl. Further, curl-config --cflags 227*6236dae4SAndroid Build Coastguard Worker suffers from the same effects with CFLAGS/CPPFLAGS. 228*6236dae4SAndroid Build Coastguard Worker 229*6236dae4SAndroid Build Coastguard Worker5.3 LDFLAGS passed too late making libs linked incorrectly 230*6236dae4SAndroid Build Coastguard Worker 231*6236dae4SAndroid Build Coastguard Worker Compiling latest curl on HP-UX and linking against a custom OpenSSL (which is 232*6236dae4SAndroid Build Coastguard Worker on the default loader/linker path), fails because the generated Makefile has 233*6236dae4SAndroid Build Coastguard Worker LDFLAGS passed on after LIBS. 234*6236dae4SAndroid Build Coastguard Worker 235*6236dae4SAndroid Build Coastguard Worker See https://github.com/curl/curl/issues/14893 236*6236dae4SAndroid Build Coastguard Worker 237*6236dae4SAndroid Build Coastguard Worker5.6 Cygwin: make install installs curl-config.1 twice 238*6236dae4SAndroid Build Coastguard Worker 239*6236dae4SAndroid Build Coastguard Worker https://github.com/curl/curl/issues/8839 240*6236dae4SAndroid Build Coastguard Worker 241*6236dae4SAndroid Build Coastguard Worker5.11 configure --with-gssapi with Heimdal is ignored on macOS 242*6236dae4SAndroid Build Coastguard Worker 243*6236dae4SAndroid Build Coastguard Worker ... unless you also pass --with-gssapi-libs 244*6236dae4SAndroid Build Coastguard Worker 245*6236dae4SAndroid Build Coastguard Worker https://github.com/curl/curl/issues/3841 246*6236dae4SAndroid Build Coastguard Worker 247*6236dae4SAndroid Build Coastguard Worker5.12 flaky CI builds 248*6236dae4SAndroid Build Coastguard Worker 249*6236dae4SAndroid Build Coastguard Worker We run many CI builds for each commit and PR on github, and especially a 250*6236dae4SAndroid Build Coastguard Worker number of the Windows builds are flaky. This means that we rarely get all CI 251*6236dae4SAndroid Build Coastguard Worker builds go green and complete without errors. This is unfortunate as it makes 252*6236dae4SAndroid Build Coastguard Worker us sometimes miss actual build problems and it is surprising to newcomers to 253*6236dae4SAndroid Build Coastguard Worker the project who (rightfully) do not expect this. 254*6236dae4SAndroid Build Coastguard Worker 255*6236dae4SAndroid Build Coastguard Worker See https://github.com/curl/curl/issues/6972 256*6236dae4SAndroid Build Coastguard Worker 257*6236dae4SAndroid Build Coastguard Worker5.13 long paths are not fully supported on Windows 258*6236dae4SAndroid Build Coastguard Worker 259*6236dae4SAndroid Build Coastguard Worker curl on Windows cannot access long paths (paths longer than 260 characters). 260*6236dae4SAndroid Build Coastguard Worker However, as a workaround, the Windows path prefix \\?\ which disables all 261*6236dae4SAndroid Build Coastguard Worker path interpretation may work to allow curl to access the path. For example: 262*6236dae4SAndroid Build Coastguard Worker \\?\c:\longpath. 263*6236dae4SAndroid Build Coastguard Worker 264*6236dae4SAndroid Build Coastguard Worker See https://github.com/curl/curl/issues/8361 265*6236dae4SAndroid Build Coastguard Worker 266*6236dae4SAndroid Build Coastguard Worker5.15 Unicode on Windows 267*6236dae4SAndroid Build Coastguard Worker 268*6236dae4SAndroid Build Coastguard Worker Passing in a Unicode filename with -o: 269*6236dae4SAndroid Build Coastguard Worker 270*6236dae4SAndroid Build Coastguard Worker https://github.com/curl/curl/issues/11461 271*6236dae4SAndroid Build Coastguard Worker 272*6236dae4SAndroid Build Coastguard Worker Passing in Unicode character with -d: 273*6236dae4SAndroid Build Coastguard Worker 274*6236dae4SAndroid Build Coastguard Worker https://github.com/curl/curl/issues/12231 275*6236dae4SAndroid Build Coastguard Worker 276*6236dae4SAndroid Build Coastguard Worker Windows Unicode builds use homedir in current locale 277*6236dae4SAndroid Build Coastguard Worker 278*6236dae4SAndroid Build Coastguard Worker The Windows Unicode builds of curl use the current locale, but expect Unicode 279*6236dae4SAndroid Build Coastguard Worker UTF-8 encoded paths for internal use such as open, access and stat. The 280*6236dae4SAndroid Build Coastguard Worker user's home directory is retrieved via curl_getenv in the current locale and 281*6236dae4SAndroid Build Coastguard Worker not as UTF-8 encoded Unicode. 282*6236dae4SAndroid Build Coastguard Worker 283*6236dae4SAndroid Build Coastguard Worker See https://github.com/curl/curl/pull/7252 and 284*6236dae4SAndroid Build Coastguard Worker https://github.com/curl/curl/pull/7281 285*6236dae4SAndroid Build Coastguard Worker 286*6236dae4SAndroid Build Coastguard Worker Cannot handle Unicode arguments in non-Unicode builds on Windows 287*6236dae4SAndroid Build Coastguard Worker 288*6236dae4SAndroid Build Coastguard Worker If a URL or filename cannot be encoded using the user's current codepage then 289*6236dae4SAndroid Build Coastguard Worker it can only be encoded properly in the Unicode character set. Windows uses 290*6236dae4SAndroid Build Coastguard Worker UTF-16 encoding for Unicode and stores it in wide characters, however curl 291*6236dae4SAndroid Build Coastguard Worker and libcurl are not equipped for that at the moment except when built with 292*6236dae4SAndroid Build Coastguard Worker _UNICODE and UNICODE defined. Except for Cygwin, Windows cannot use UTF-8 as 293*6236dae4SAndroid Build Coastguard Worker a locale. 294*6236dae4SAndroid Build Coastguard Worker 295*6236dae4SAndroid Build Coastguard Worker https://curl.se/bug/?i=345 296*6236dae4SAndroid Build Coastguard Worker https://curl.se/bug/?i=731 297*6236dae4SAndroid Build Coastguard Worker https://curl.se/bug/?i=3747 298*6236dae4SAndroid Build Coastguard Worker 299*6236dae4SAndroid Build Coastguard Worker NTLM authentication and Unicode 300*6236dae4SAndroid Build Coastguard Worker 301*6236dae4SAndroid Build Coastguard Worker NTLM authentication involving Unicode username or password only works 302*6236dae4SAndroid Build Coastguard Worker properly if built with UNICODE defined together with the Schannel backend. 303*6236dae4SAndroid Build Coastguard Worker The original problem was mentioned in: 304*6236dae4SAndroid Build Coastguard Worker https://curl.se/mail/lib-2009-10/0024.html 305*6236dae4SAndroid Build Coastguard Worker https://curl.se/bug/view.cgi?id=896 306*6236dae4SAndroid Build Coastguard Worker 307*6236dae4SAndroid Build Coastguard Worker The Schannel version verified to work as mentioned in 308*6236dae4SAndroid Build Coastguard Worker https://curl.se/mail/lib-2012-07/0073.html 309*6236dae4SAndroid Build Coastguard Worker 310*6236dae4SAndroid Build Coastguard Worker6. Authentication 311*6236dae4SAndroid Build Coastguard Worker 312*6236dae4SAndroid Build Coastguard Worker6.2 MIT Kerberos for Windows build 313*6236dae4SAndroid Build Coastguard Worker 314*6236dae4SAndroid Build Coastguard Worker libcurl fails to build with MIT Kerberos for Windows (KfW) due to KfW's 315*6236dae4SAndroid Build Coastguard Worker library header files exporting symbols/macros that should be kept private to 316*6236dae4SAndroid Build Coastguard Worker the KfW library. See ticket #5601 at https://krbdev.mit.edu/rt/ 317*6236dae4SAndroid Build Coastguard Worker 318*6236dae4SAndroid Build Coastguard Worker6.3 NTLM in system context uses wrong name 319*6236dae4SAndroid Build Coastguard Worker 320*6236dae4SAndroid Build Coastguard Worker NTLM authentication using SSPI (on Windows) when (lib)curl is running in 321*6236dae4SAndroid Build Coastguard Worker "system context" makes it use wrong(?) username - at least when compared to 322*6236dae4SAndroid Build Coastguard Worker what winhttp does. See https://curl.se/bug/view.cgi?id=535 323*6236dae4SAndroid Build Coastguard Worker 324*6236dae4SAndroid Build Coastguard Worker6.5 NTLM does not support password with § character 325*6236dae4SAndroid Build Coastguard Worker 326*6236dae4SAndroid Build Coastguard Worker https://github.com/curl/curl/issues/2120 327*6236dae4SAndroid Build Coastguard Worker 328*6236dae4SAndroid Build Coastguard Worker6.6 libcurl can fail to try alternatives with --proxy-any 329*6236dae4SAndroid Build Coastguard Worker 330*6236dae4SAndroid Build Coastguard Worker When connecting via a proxy using --proxy-any, a failure to establish an 331*6236dae4SAndroid Build Coastguard Worker authentication causes libcurl to abort trying other options if the failed 332*6236dae4SAndroid Build Coastguard Worker method has a higher preference than the alternatives. As an example, 333*6236dae4SAndroid Build Coastguard Worker --proxy-any against a proxy which advertise Negotiate and NTLM, but which 334*6236dae4SAndroid Build Coastguard Worker fails to set up Kerberos authentication does not proceed to try 335*6236dae4SAndroid Build Coastguard Worker authentication using NTLM. 336*6236dae4SAndroid Build Coastguard Worker 337*6236dae4SAndroid Build Coastguard Worker https://github.com/curl/curl/issues/876 338*6236dae4SAndroid Build Coastguard Worker 339*6236dae4SAndroid Build Coastguard Worker6.7 Do not clear digest for single realm 340*6236dae4SAndroid Build Coastguard Worker 341*6236dae4SAndroid Build Coastguard Worker https://github.com/curl/curl/issues/3267 342*6236dae4SAndroid Build Coastguard Worker 343*6236dae4SAndroid Build Coastguard Worker6.8 Heimdal memory leaks 344*6236dae4SAndroid Build Coastguard Worker 345*6236dae4SAndroid Build Coastguard Worker Running test 2077 and 2078 with curl built to do GSS with Heimdal causes 346*6236dae4SAndroid Build Coastguard Worker valgrind errors (memory leak). 347*6236dae4SAndroid Build Coastguard Worker 348*6236dae4SAndroid Build Coastguard Worker https://github.com/curl/curl/issues/14446 349*6236dae4SAndroid Build Coastguard Worker 350*6236dae4SAndroid Build Coastguard Worker6.9 SHA-256 digest not supported in Windows SSPI builds 351*6236dae4SAndroid Build Coastguard Worker 352*6236dae4SAndroid Build Coastguard Worker Windows builds of curl that have SSPI enabled use the native Windows API calls 353*6236dae4SAndroid Build Coastguard Worker to create authentication strings. The call to InitializeSecurityContext fails 354*6236dae4SAndroid Build Coastguard Worker with SEC_E_QOP_NOT_SUPPORTED which causes curl to fail with CURLE_AUTH_ERROR. 355*6236dae4SAndroid Build Coastguard Worker 356*6236dae4SAndroid Build Coastguard Worker Microsoft does not document supported digest algorithms and that SEC_E error 357*6236dae4SAndroid Build Coastguard Worker code is not a documented error for InitializeSecurityContext (digest). 358*6236dae4SAndroid Build Coastguard Worker 359*6236dae4SAndroid Build Coastguard Worker https://github.com/curl/curl/issues/6302 360*6236dae4SAndroid Build Coastguard Worker 361*6236dae4SAndroid Build Coastguard Worker6.10 curl never completes Negotiate over HTTP 362*6236dae4SAndroid Build Coastguard Worker 363*6236dae4SAndroid Build Coastguard Worker Apparently it is not working correctly...? 364*6236dae4SAndroid Build Coastguard Worker 365*6236dae4SAndroid Build Coastguard Worker See https://github.com/curl/curl/issues/5235 366*6236dae4SAndroid Build Coastguard Worker 367*6236dae4SAndroid Build Coastguard Worker6.11 Negotiate on Windows fails 368*6236dae4SAndroid Build Coastguard Worker 369*6236dae4SAndroid Build Coastguard Worker When using --negotiate (or NTLM) with curl on Windows, SSL/TLS handshake 370*6236dae4SAndroid Build Coastguard Worker fails despite having a valid kerberos ticket cached. Works without any issue 371*6236dae4SAndroid Build Coastguard Worker in Unix/Linux. 372*6236dae4SAndroid Build Coastguard Worker 373*6236dae4SAndroid Build Coastguard Worker https://github.com/curl/curl/issues/5881 374*6236dae4SAndroid Build Coastguard Worker 375*6236dae4SAndroid Build Coastguard Worker6.12 cannot use Secure Transport with Crypto Token Kit 376*6236dae4SAndroid Build Coastguard Worker 377*6236dae4SAndroid Build Coastguard Worker https://github.com/curl/curl/issues/7048 378*6236dae4SAndroid Build Coastguard Worker 379*6236dae4SAndroid Build Coastguard Worker6.13 Negotiate authentication against Hadoop HDFS 380*6236dae4SAndroid Build Coastguard Worker 381*6236dae4SAndroid Build Coastguard Worker https://github.com/curl/curl/issues/8264 382*6236dae4SAndroid Build Coastguard Worker 383*6236dae4SAndroid Build Coastguard Worker7. FTP 384*6236dae4SAndroid Build Coastguard Worker 385*6236dae4SAndroid Build Coastguard Worker7.4 FTP with ACCT 386*6236dae4SAndroid Build Coastguard Worker 387*6236dae4SAndroid Build Coastguard Worker When doing an operation over FTP that requires the ACCT command (but not when 388*6236dae4SAndroid Build Coastguard Worker logging in), the operation fails since libcurl does not detect this and thus 389*6236dae4SAndroid Build Coastguard Worker fails to issue the correct command: https://curl.se/bug/view.cgi?id=635 390*6236dae4SAndroid Build Coastguard Worker 391*6236dae4SAndroid Build Coastguard Worker7.12 FTPS server compatibility on Windows with Schannel 392*6236dae4SAndroid Build Coastguard Worker 393*6236dae4SAndroid Build Coastguard Worker FTPS is not widely used with the Schannel TLS backend and so there may be 394*6236dae4SAndroid Build Coastguard Worker more bugs compared to other TLS backends such as OpenSSL. In the past users 395*6236dae4SAndroid Build Coastguard Worker have reported hanging and failed connections. It is likely some changes to 396*6236dae4SAndroid Build Coastguard Worker curl since then fixed the issues. None of the reported issues can be 397*6236dae4SAndroid Build Coastguard Worker reproduced any longer. 398*6236dae4SAndroid Build Coastguard Worker 399*6236dae4SAndroid Build Coastguard Worker If you encounter an issue connecting to your server via FTPS with the latest 400*6236dae4SAndroid Build Coastguard Worker curl and Schannel then please search for open issues or file a new issue. 401*6236dae4SAndroid Build Coastguard Worker 402*6236dae4SAndroid Build Coastguard Worker9. SFTP and SCP 403*6236dae4SAndroid Build Coastguard Worker 404*6236dae4SAndroid Build Coastguard Worker9.1 SFTP does not do CURLOPT_POSTQUOTE correct 405*6236dae4SAndroid Build Coastguard Worker 406*6236dae4SAndroid Build Coastguard Worker When libcurl sends CURLOPT_POSTQUOTE commands when connected to a SFTP server 407*6236dae4SAndroid Build Coastguard Worker using the multi interface, the commands are not being sent correctly and 408*6236dae4SAndroid Build Coastguard Worker instead the connection is "cancelled" (the operation is considered done) 409*6236dae4SAndroid Build Coastguard Worker prematurely. There is a half-baked (busy-looping) patch provided in the bug 410*6236dae4SAndroid Build Coastguard Worker report but it cannot be accepted as-is. See 411*6236dae4SAndroid Build Coastguard Worker https://curl.se/bug/view.cgi?id=748 412*6236dae4SAndroid Build Coastguard Worker 413*6236dae4SAndroid Build Coastguard Worker9.2 wolfssh: publickey auth does not work 414*6236dae4SAndroid Build Coastguard Worker 415*6236dae4SAndroid Build Coastguard Worker When building curl to use the wolfSSH backend for SFTP, the publickey 416*6236dae4SAndroid Build Coastguard Worker authentication does not work. This is simply functionality not written for curl 417*6236dae4SAndroid Build Coastguard Worker yet, the necessary API for make this work is provided by wolfSSH. 418*6236dae4SAndroid Build Coastguard Worker 419*6236dae4SAndroid Build Coastguard Worker See https://github.com/curl/curl/issues/4820 420*6236dae4SAndroid Build Coastguard Worker 421*6236dae4SAndroid Build Coastguard Worker9.3 Remote recursive folder creation with SFTP 422*6236dae4SAndroid Build Coastguard Worker 423*6236dae4SAndroid Build Coastguard Worker On this servers, the curl fails to create directories on the remote server 424*6236dae4SAndroid Build Coastguard Worker even when the CURLOPT_FTP_CREATE_MISSING_DIRS option is set. 425*6236dae4SAndroid Build Coastguard Worker 426*6236dae4SAndroid Build Coastguard Worker See https://github.com/curl/curl/issues/5204 427*6236dae4SAndroid Build Coastguard Worker 428*6236dae4SAndroid Build Coastguard Worker9.4 libssh blocking and infinite loop problem 429*6236dae4SAndroid Build Coastguard Worker 430*6236dae4SAndroid Build Coastguard Worker In the SSH_SFTP_INIT state for libssh, the ssh session working mode is set to 431*6236dae4SAndroid Build Coastguard Worker blocking mode. If the network is suddenly disconnected during sftp 432*6236dae4SAndroid Build Coastguard Worker transmission, curl is stuck, even if curl is configured with a timeout. 433*6236dae4SAndroid Build Coastguard Worker 434*6236dae4SAndroid Build Coastguard Worker https://github.com/curl/curl/issues/8632 435*6236dae4SAndroid Build Coastguard Worker 436*6236dae4SAndroid Build Coastguard Worker9.5 Cygwin: "WARNING: UNPROTECTED PRIVATE KEY FILE!" 437*6236dae4SAndroid Build Coastguard Worker 438*6236dae4SAndroid Build Coastguard Worker Running SCP and SFTP tests on Cygwin makes this warning message appear. 439*6236dae4SAndroid Build Coastguard Worker 440*6236dae4SAndroid Build Coastguard Worker https://github.com/curl/curl/issues/11244 441*6236dae4SAndroid Build Coastguard Worker 442*6236dae4SAndroid Build Coastguard Worker10. SOCKS 443*6236dae4SAndroid Build Coastguard Worker 444*6236dae4SAndroid Build Coastguard Worker11. Internals 445*6236dae4SAndroid Build Coastguard Worker 446*6236dae4SAndroid Build Coastguard Worker11.1 gssapi library name + version is missing in curl_version_info() 447*6236dae4SAndroid Build Coastguard Worker 448*6236dae4SAndroid Build Coastguard Worker The struct needs to be expanded and code added to store this info. 449*6236dae4SAndroid Build Coastguard Worker 450*6236dae4SAndroid Build Coastguard Worker See https://github.com/curl/curl/issues/13492 451*6236dae4SAndroid Build Coastguard Worker 452*6236dae4SAndroid Build Coastguard Worker11.2 error buffer not set if connection to multiple addresses fails 453*6236dae4SAndroid Build Coastguard Worker 454*6236dae4SAndroid Build Coastguard Worker If you ask libcurl to resolve a hostname like example.com to IPv6 addresses 455*6236dae4SAndroid Build Coastguard Worker when you only have IPv4 connectivity. libcurl fails with 456*6236dae4SAndroid Build Coastguard Worker CURLE_COULDNT_CONNECT, but the error buffer set by CURLOPT_ERRORBUFFER 457*6236dae4SAndroid Build Coastguard Worker remains empty. Issue: https://github.com/curl/curl/issues/544 458*6236dae4SAndroid Build Coastguard Worker 459*6236dae4SAndroid Build Coastguard Worker11.3 TFTP tests fail on OpenBSD 460*6236dae4SAndroid Build Coastguard Worker 461*6236dae4SAndroid Build Coastguard Worker When adding an OpenBSD job with tests to GHA, some tests consistently fail 462*6236dae4SAndroid Build Coastguard Worker to run. 463*6236dae4SAndroid Build Coastguard Worker 464*6236dae4SAndroid Build Coastguard Worker See https://github.com/curl/curl/issues/13623 465*6236dae4SAndroid Build Coastguard Worker 466*6236dae4SAndroid Build Coastguard Worker11.4 HTTP test server 'connection-monitor' problems 467*6236dae4SAndroid Build Coastguard Worker 468*6236dae4SAndroid Build Coastguard Worker The 'connection-monitor' feature of the sws HTTP test server does not work 469*6236dae4SAndroid Build Coastguard Worker properly if some tests are run in unexpected order. Like 1509 and then 1525. 470*6236dae4SAndroid Build Coastguard Worker 471*6236dae4SAndroid Build Coastguard Worker See https://github.com/curl/curl/issues/868 472*6236dae4SAndroid Build Coastguard Worker 473*6236dae4SAndroid Build Coastguard Worker11.5 Connection information when using TCP Fast Open 474*6236dae4SAndroid Build Coastguard Worker 475*6236dae4SAndroid Build Coastguard Worker CURLINFO_LOCAL_PORT (and possibly a few other) fails when TCP Fast Open is 476*6236dae4SAndroid Build Coastguard Worker enabled. 477*6236dae4SAndroid Build Coastguard Worker 478*6236dae4SAndroid Build Coastguard Worker See https://github.com/curl/curl/issues/1332 and 479*6236dae4SAndroid Build Coastguard Worker https://github.com/curl/curl/issues/4296 480*6236dae4SAndroid Build Coastguard Worker 481*6236dae4SAndroid Build Coastguard Worker11.6 test cases sometimes timeout 482*6236dae4SAndroid Build Coastguard Worker 483*6236dae4SAndroid Build Coastguard Worker Occasionally, one of the tests timeouts. Inexplicably. 484*6236dae4SAndroid Build Coastguard Worker 485*6236dae4SAndroid Build Coastguard Worker See https://github.com/curl/curl/issues/13350 486*6236dae4SAndroid Build Coastguard Worker 487*6236dae4SAndroid Build Coastguard Worker11.7 CURLOPT_CONNECT_TO does not work for HTTPS proxy 488*6236dae4SAndroid Build Coastguard Worker 489*6236dae4SAndroid Build Coastguard Worker It is unclear if the same option should even cover the proxy connection or if 490*6236dae4SAndroid Build Coastguard Worker if requires a separate option. 491*6236dae4SAndroid Build Coastguard Worker 492*6236dae4SAndroid Build Coastguard Worker See https://github.com/curl/curl/issues/14481 493*6236dae4SAndroid Build Coastguard Worker 494*6236dae4SAndroid Build Coastguard Worker11.8 WinIDN test failures 495*6236dae4SAndroid Build Coastguard Worker 496*6236dae4SAndroid Build Coastguard Worker Test 165 disabled when built with WinIDN. 497*6236dae4SAndroid Build Coastguard Worker 498*6236dae4SAndroid Build Coastguard Worker12. LDAP 499*6236dae4SAndroid Build Coastguard Worker 500*6236dae4SAndroid Build Coastguard Worker12.1 OpenLDAP hangs after returning results 501*6236dae4SAndroid Build Coastguard Worker 502*6236dae4SAndroid Build Coastguard Worker By configuration defaults, OpenLDAP automatically chase referrals on 503*6236dae4SAndroid Build Coastguard Worker secondary socket descriptors. The OpenLDAP backend is asynchronous and thus 504*6236dae4SAndroid Build Coastguard Worker should monitor all socket descriptors involved. Currently, these secondary 505*6236dae4SAndroid Build Coastguard Worker descriptors are not monitored, causing OpenLDAP library to never receive 506*6236dae4SAndroid Build Coastguard Worker data from them. 507*6236dae4SAndroid Build Coastguard Worker 508*6236dae4SAndroid Build Coastguard Worker As a temporary workaround, disable referrals chasing by configuration. 509*6236dae4SAndroid Build Coastguard Worker 510*6236dae4SAndroid Build Coastguard Worker The fix is not easy: proper automatic referrals chasing requires a 511*6236dae4SAndroid Build Coastguard Worker synchronous bind callback and monitoring an arbitrary number of socket 512*6236dae4SAndroid Build Coastguard Worker descriptors for a single easy handle (currently limited to 5). 513*6236dae4SAndroid Build Coastguard Worker 514*6236dae4SAndroid Build Coastguard Worker Generic LDAP is synchronous: OK. 515*6236dae4SAndroid Build Coastguard Worker 516*6236dae4SAndroid Build Coastguard Worker See https://github.com/curl/curl/issues/622 and 517*6236dae4SAndroid Build Coastguard Worker https://curl.se/mail/lib-2016-01/0101.html 518*6236dae4SAndroid Build Coastguard Worker 519*6236dae4SAndroid Build Coastguard Worker12.2 LDAP on Windows does authentication wrong? 520*6236dae4SAndroid Build Coastguard Worker 521*6236dae4SAndroid Build Coastguard Worker https://github.com/curl/curl/issues/3116 522*6236dae4SAndroid Build Coastguard Worker 523*6236dae4SAndroid Build Coastguard Worker12.3 LDAP on Windows does not work 524*6236dae4SAndroid Build Coastguard Worker 525*6236dae4SAndroid Build Coastguard Worker A simple curl command line getting "ldap://ldap.forumsys.com" returns an 526*6236dae4SAndroid Build Coastguard Worker error that says "no memory" ! 527*6236dae4SAndroid Build Coastguard Worker 528*6236dae4SAndroid Build Coastguard Worker https://github.com/curl/curl/issues/4261 529*6236dae4SAndroid Build Coastguard Worker 530*6236dae4SAndroid Build Coastguard Worker12.4 LDAPS requests to ActiveDirectory server hang 531*6236dae4SAndroid Build Coastguard Worker 532*6236dae4SAndroid Build Coastguard Worker https://github.com/curl/curl/issues/9580 533*6236dae4SAndroid Build Coastguard Worker 534*6236dae4SAndroid Build Coastguard Worker13. TCP/IP 535*6236dae4SAndroid Build Coastguard Worker 536*6236dae4SAndroid Build Coastguard Worker13.2 Trying local ports fails on Windows 537*6236dae4SAndroid Build Coastguard Worker 538*6236dae4SAndroid Build Coastguard Worker This makes '--local-port [range]' to not work since curl cannot properly 539*6236dae4SAndroid Build Coastguard Worker detect if a port is already in use, so it tries the first port, uses that and 540*6236dae4SAndroid Build Coastguard Worker then subsequently fails anyway if that was actually in use. 541*6236dae4SAndroid Build Coastguard Worker 542*6236dae4SAndroid Build Coastguard Worker https://github.com/curl/curl/issues/8112 543*6236dae4SAndroid Build Coastguard Worker 544*6236dae4SAndroid Build Coastguard Worker15. CMake 545*6236dae4SAndroid Build Coastguard Worker 546*6236dae4SAndroid Build Coastguard Worker15.1 cmake outputs: no version information available 547*6236dae4SAndroid Build Coastguard Worker 548*6236dae4SAndroid Build Coastguard Worker Something in the SONAME generation seems to be wrong in the cmake build. 549*6236dae4SAndroid Build Coastguard Worker 550*6236dae4SAndroid Build Coastguard Worker https://github.com/curl/curl/issues/11158 551*6236dae4SAndroid Build Coastguard Worker 552*6236dae4SAndroid Build Coastguard Worker15.6 uses -lpthread instead of Threads::Threads 553*6236dae4SAndroid Build Coastguard Worker 554*6236dae4SAndroid Build Coastguard Worker See https://github.com/curl/curl/issues/6166 555*6236dae4SAndroid Build Coastguard Worker 556*6236dae4SAndroid Build Coastguard Worker15.7 generated .pc file contains strange entries 557*6236dae4SAndroid Build Coastguard Worker 558*6236dae4SAndroid Build Coastguard Worker The Libs.private field of the generated .pc file contains -lgcc -lgcc_s -lc 559*6236dae4SAndroid Build Coastguard Worker -lgcc -lgcc_s 560*6236dae4SAndroid Build Coastguard Worker 561*6236dae4SAndroid Build Coastguard Worker See https://github.com/curl/curl/issues/6167 562*6236dae4SAndroid Build Coastguard Worker 563*6236dae4SAndroid Build Coastguard Worker15.13 CMake build with MIT Kerberos does not work 564*6236dae4SAndroid Build Coastguard Worker 565*6236dae4SAndroid Build Coastguard Worker Minimum CMake version was bumped in curl 7.71.0 (#5358) Since CMake 3.2 566*6236dae4SAndroid Build Coastguard Worker try_compile started respecting the CMAKE_EXE_FLAGS. The code dealing with 567*6236dae4SAndroid Build Coastguard Worker MIT Kerberos detection sets few variables to potentially weird mix of space, 568*6236dae4SAndroid Build Coastguard Worker and ;-separated flags. It had to blow up at some point. All the CMake checks 569*6236dae4SAndroid Build Coastguard Worker that involve compilation are doomed from that point, the configured tree 570*6236dae4SAndroid Build Coastguard Worker cannot be built. 571*6236dae4SAndroid Build Coastguard Worker 572*6236dae4SAndroid Build Coastguard Worker https://github.com/curl/curl/issues/6904 573*6236dae4SAndroid Build Coastguard Worker 574*6236dae4SAndroid Build Coastguard Worker16. aws-sigv4 575*6236dae4SAndroid Build Coastguard Worker 576*6236dae4SAndroid Build Coastguard Worker16.2 aws-sigv4 does not handle multipart/form-data correctly 577*6236dae4SAndroid Build Coastguard Worker 578*6236dae4SAndroid Build Coastguard Worker https://github.com/curl/curl/issues/13351 579*6236dae4SAndroid Build Coastguard Worker 580*6236dae4SAndroid Build Coastguard Worker16.3 aws-sigv4 has problems with particular URLs 581*6236dae4SAndroid Build Coastguard Worker 582*6236dae4SAndroid Build Coastguard Worker https://github.com/curl/curl/issues/13058 583*6236dae4SAndroid Build Coastguard Worker 584*6236dae4SAndroid Build Coastguard Worker16.6 aws-sigv4 does not behave well with AWS VPC Lattice 585*6236dae4SAndroid Build Coastguard Worker 586*6236dae4SAndroid Build Coastguard Worker https://github.com/curl/curl/issues/11007 587*6236dae4SAndroid Build Coastguard Worker 588*6236dae4SAndroid Build Coastguard Worker17. HTTP/2 589*6236dae4SAndroid Build Coastguard Worker 590*6236dae4SAndroid Build Coastguard Worker17.1 HTTP/2 prior knowledge over proxy 591*6236dae4SAndroid Build Coastguard Worker 592*6236dae4SAndroid Build Coastguard Worker https://github.com/curl/curl/issues/12641 593*6236dae4SAndroid Build Coastguard Worker 594*6236dae4SAndroid Build Coastguard Worker17.2 HTTP/2 frames while in the connection pool kill reuse 595*6236dae4SAndroid Build Coastguard Worker 596*6236dae4SAndroid Build Coastguard Worker If the server sends HTTP/2 frames (like for example an HTTP/2 PING frame) to 597*6236dae4SAndroid Build Coastguard Worker curl while the connection is held in curl's connection pool, the socket is 598*6236dae4SAndroid Build Coastguard Worker found readable when considered for reuse and that makes curl think it is dead 599*6236dae4SAndroid Build Coastguard Worker and then it is closed and a new connection gets created instead. 600*6236dae4SAndroid Build Coastguard Worker 601*6236dae4SAndroid Build Coastguard Worker This is *best* fixed by adding monitoring to connections while they are kept 602*6236dae4SAndroid Build Coastguard Worker in the pool so that pings can be responded to appropriately. 603*6236dae4SAndroid Build Coastguard Worker 604*6236dae4SAndroid Build Coastguard Worker17.3 ENHANCE_YOUR_CALM causes infinite retries 605*6236dae4SAndroid Build Coastguard Worker 606*6236dae4SAndroid Build Coastguard Worker Infinite retries with 2 parallel requests on one connection receiving GOAWAY 607*6236dae4SAndroid Build Coastguard Worker with ENHANCE_YOUR_CALM error code. 608*6236dae4SAndroid Build Coastguard Worker 609*6236dae4SAndroid Build Coastguard Worker See https://github.com/curl/curl/issues/5119 610*6236dae4SAndroid Build Coastguard Worker 611*6236dae4SAndroid Build Coastguard Worker17.4 HTTP/2 + TLS spends a lot of time in recv 612*6236dae4SAndroid Build Coastguard Worker 613*6236dae4SAndroid Build Coastguard Worker It has been observered that by making the speed limit less accurate we could 614*6236dae4SAndroid Build Coastguard Worker improve this performance. (by reverting 615*6236dae4SAndroid Build Coastguard Worker https://github.com/curl/curl/commit/db5c9f4f9e0779b49624752b135281a0717b277b) 616*6236dae4SAndroid Build Coastguard Worker Can we find a golden middle ground? 617*6236dae4SAndroid Build Coastguard Worker 618*6236dae4SAndroid Build Coastguard Worker See https://curl.se/mail/lib-2024-05/0026.html and 619*6236dae4SAndroid Build Coastguard Worker https://github.com/curl/curl/issues/13416 620*6236dae4SAndroid Build Coastguard Worker 621*6236dae4SAndroid Build Coastguard Worker18. HTTP/3 622*6236dae4SAndroid Build Coastguard Worker 623*6236dae4SAndroid Build Coastguard Worker18.1 connection migration does not work 624*6236dae4SAndroid Build Coastguard Worker 625*6236dae4SAndroid Build Coastguard Worker https://github.com/curl/curl/issues/7695 626*6236dae4SAndroid Build Coastguard Worker 627*6236dae4SAndroid Build Coastguard Worker18.2 quiche: QUIC connection is draining 628*6236dae4SAndroid Build Coastguard Worker 629*6236dae4SAndroid Build Coastguard Worker The transfer ends with error "QUIC connection is draining". 630*6236dae4SAndroid Build Coastguard Worker 631*6236dae4SAndroid Build Coastguard Worker https://github.com/curl/curl/issues/12037 632*6236dae4SAndroid Build Coastguard Worker 633*6236dae4SAndroid Build Coastguard Worker19. RTSP 634*6236dae4SAndroid Build Coastguard Worker 635*6236dae4SAndroid Build Coastguard Worker19.1 Some methods do not support response bodies 636*6236dae4SAndroid Build Coastguard Worker 637*6236dae4SAndroid Build Coastguard Worker The RTSP implementation is written to assume that a number of RTSP methods 638*6236dae4SAndroid Build Coastguard Worker always get responses without bodies, even though there seems to be no 639*6236dae4SAndroid Build Coastguard Worker indication in the RFC that this is always the case. 640*6236dae4SAndroid Build Coastguard Worker 641*6236dae4SAndroid Build Coastguard Worker https://github.com/curl/curl/issues/12414 642