KNOWN_BUGS 22 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651
  1. _ _ ____ _
  2. ___| | | | _ \| |
  3. / __| | | | |_) | |
  4. | (__| |_| | _ <| |___
  5. \___|\___/|_| \_\_____|
  6. Known Bugs
  7. These are problems and bugs known to exist at the time of this release. Feel
  8. free to join in and help us correct one or more of these. Also be sure to
  9. check the changelog of the current development status, as one or more of these
  10. problems may have been fixed or changed somewhat since this was written.
  11. 1. HTTP
  12. 1.2 hyper is slow
  13. 1.5 Expect-100 meets 417
  14. 2. TLS
  15. 2.1 IMAPS connection fails with rustls error
  16. 2.3 Unable to use PKCS12 certificate with Secure Transport
  17. 2.4 Secure Transport will not import PKCS#12 client certificates without a password
  18. 2.5 Client cert handling with Issuer DN differs between backends
  19. 2.7 Client cert (MTLS) issues with Schannel
  20. 2.11 Schannel TLS 1.2 handshake bug in old Windows versions
  21. 2.13 CURLOPT_CERTINFO results in CURLE_OUT_OF_MEMORY with Schannel
  22. 3. Email protocols
  23. 3.1 IMAP SEARCH ALL truncated response
  24. 3.2 No disconnect command
  25. 3.3 POP3 expects "CRLF.CRLF" eob for some single-line responses
  26. 3.4 AUTH PLAIN for SMTP is not working on all servers
  27. 3.5 APOP authentication fails on POP3
  28. 3.6 POP3 issue when reading small chunks
  29. 4. Command line
  30. 5. Build and portability issues
  31. 5.1 OS400 port requires deprecated IBM library
  32. 5.2 curl-config --libs contains private details
  33. 5.3 building for old macOS fails with gcc
  34. 5.5 cannot handle Unicode arguments in non-Unicode builds on Windows
  35. 5.6 cygwin: make install installs curl-config.1 twice
  36. 5.9 Utilize Requires.private directives in libcurl.pc
  37. 5.11 configure --with-gssapi with Heimdal is ignored on macOS
  38. 5.12 flaky CI builds
  39. 5.13 long paths are not fully supported on Windows
  40. 5.14 Windows Unicode builds use homedir in current locale
  41. 5.15 Unicode on Windows
  42. 6. Authentication
  43. 6.1 NTLM authentication and unicode
  44. 6.2 MIT Kerberos for Windows build
  45. 6.3 NTLM in system context uses wrong name
  46. 6.5 NTLM does not support password with § character
  47. 6.6 libcurl can fail to try alternatives with --proxy-any
  48. 6.7 Do not clear digest for single realm
  49. 6.9 SHA-256 digest not supported in Windows SSPI builds
  50. 6.10 curl never completes Negotiate over HTTP
  51. 6.11 Negotiate on Windows fails
  52. 6.12 cannot use Secure Transport with Crypto Token Kit
  53. 6.13 Negotiate against Hadoop HDFS
  54. 7. FTP
  55. 7.1 FTP upload fails if remembered dir is deleted
  56. 7.2 Implicit FTPS upload timeout
  57. 7.3 FTP with NOBODY and FAILONERROR
  58. 7.4 FTP with ACCT
  59. 7.5 FTPS upload, FileZilla, GnuTLS and close_notify
  60. 7.11 FTPS upload data loss with TLS 1.3
  61. 7.12 FTPS directory listing hangs on Windows with Schannel
  62. 9. SFTP and SCP
  63. 9.1 SFTP does not do CURLOPT_POSTQUOTE correct
  64. 9.2 wolfssh: publickey auth does not work
  65. 9.3 Remote recursive folder creation with SFTP
  66. 9.4 libssh blocking and infinite loop problem
  67. 9.5 cygwin: "WARNING: UNPROTECTED PRIVATE KEY FILE!"
  68. 10. SOCKS
  69. 10.3 FTPS over SOCKS
  70. 11. Internals
  71. 11.2 error buffer not set if connection to multiple addresses fails
  72. 11.4 HTTP test server 'connection-monitor' problems
  73. 11.5 Connection information when using TCP Fast Open
  74. 12. LDAP
  75. 12.1 OpenLDAP hangs after returning results
  76. 12.2 LDAP on Windows does authentication wrong?
  77. 12.3 LDAP on Windows does not work
  78. 12.4 LDAPS requests to ActiveDirectory server hang
  79. 13. TCP/IP
  80. 13.2 Trying local ports fails on Windows
  81. 15. CMake
  82. 15.1 cmake outputs: no version information available
  83. 15.2 support build with GnuTLS
  84. 15.3 unusable tool_hugehelp.c with MinGW
  85. 15.6 uses -lpthread instead of Threads::Threads
  86. 15.7 generated .pc file contains strange entries
  87. 15.11 ExternalProject_Add does not set CURL_CA_PATH
  88. 15.13 CMake build with MIT Kerberos does not work
  89. 16. aws-sigv4
  90. 16.1 aws-sigv4 does not sign requests with * correctly
  91. 16.6 aws-sigv4 does not behave well with AWS VPC Lattice
  92. 17. HTTP/2
  93. 17.1 HTTP/2 prior knowledge over proxy
  94. 17.2 HTTP/2 frames while in the connection pool kill reuse
  95. 17.3 ENHANCE_YOUR_CALM causes infinite retries
  96. 18. HTTP/3
  97. 18.1 connection migration does not work
  98. 19. RTSP
  99. 19.1 Some methods do not support response bodies
  100. ==============================================================================
  101. 1. HTTP
  102. 1.2 hyper is slow
  103. When curl is built to use hyper for HTTP, it is unnecessary slow.
  104. https://github.com/curl/curl/issues/11203
  105. 1.5 Expect-100 meets 417
  106. If an upload using Expect: 100-continue receives an HTTP 417 response, it
  107. ought to be automatically resent without the Expect:. A workaround is for
  108. the client application to redo the transfer after disabling Expect:.
  109. https://curl.se/mail/archive-2008-02/0043.html
  110. 2. TLS
  111. 2.1 IMAPS connection fails with rustls error
  112. https://github.com/curl/curl/issues/10457
  113. 2.3 Unable to use PKCS12 certificate with Secure Transport
  114. See https://github.com/curl/curl/issues/5403
  115. 2.4 Secure Transport will not import PKCS#12 client certificates without a password
  116. libcurl calls SecPKCS12Import with the PKCS#12 client certificate, but that
  117. function rejects certificates that do not have a password.
  118. https://github.com/curl/curl/issues/1308
  119. 2.5 Client cert handling with Issuer DN differs between backends
  120. When the specified client certificate does not match any of the
  121. server-specified DNs, the OpenSSL and GnuTLS backends behave differently.
  122. The github discussion may contain a solution.
  123. See https://github.com/curl/curl/issues/1411
  124. 2.7 Client cert (MTLS) issues with Schannel
  125. See https://github.com/curl/curl/issues/3145
  126. 2.11 Schannel TLS 1.2 handshake bug in old Windows versions
  127. In old versions of Windows such as 7 and 8.1 the Schannel TLS 1.2 handshake
  128. implementation likely has a bug that can rarely cause the key exchange to
  129. fail, resulting in error SEC_E_BUFFER_TOO_SMALL or SEC_E_MESSAGE_ALTERED.
  130. https://github.com/curl/curl/issues/5488
  131. 2.13 CURLOPT_CERTINFO results in CURLE_OUT_OF_MEMORY with Schannel
  132. https://github.com/curl/curl/issues/8741
  133. 3. Email protocols
  134. 3.1 IMAP SEARCH ALL truncated response
  135. IMAP "SEARCH ALL" truncates output on large boxes. "A quick search of the
  136. code reveals that pingpong.c contains some truncation code, at line 408, when
  137. it deems the server response to be too large truncating it to 40 characters"
  138. https://curl.se/bug/view.cgi?id=1366
  139. 3.2 No disconnect command
  140. The disconnect commands (LOGOUT and QUIT) may not be sent by IMAP, POP3 and
  141. SMTP if a failure occurs during the authentication phase of a connection.
  142. 3.3 POP3 expects "CRLF.CRLF" eob for some single-line responses
  143. You have to tell libcurl not to expect a body, when dealing with one line
  144. response commands. Please see the POP3 examples and test cases which show
  145. this for the NOOP and DELE commands. https://curl.se/bug/?i=740
  146. 3.4 AUTH PLAIN for SMTP is not working on all servers
  147. Specifying "--login-options AUTH=PLAIN" on the command line does not seem to
  148. work correctly.
  149. See https://github.com/curl/curl/issues/4080
  150. 3.5 APOP authentication fails on POP3
  151. See https://github.com/curl/curl/issues/10073
  152. 3.6 POP3 issue when reading small chunks
  153. CURL_DBG_SOCK_RMAX=4 ./runtests.pl -v 982
  154. See https://github.com/curl/curl/issues/12063
  155. 4. Command line
  156. 5. Build and portability issues
  157. 5.1 OS400 port requires deprecated IBM library
  158. curl for OS400 requires QADRT to build, which provides ASCII wrappers for
  159. libc/POSIX functions in the ILE, but IBM no longer supports or even offers
  160. this library to download.
  161. See https://github.com/curl/curl/issues/5176
  162. 5.2 curl-config --libs contains private details
  163. "curl-config --libs" will include details set in LDFLAGS when configure is
  164. run that might be needed only for building libcurl. Further, curl-config
  165. --cflags suffers from the same effects with CFLAGS/CPPFLAGS.
  166. 5.3 building for old macOS fails with gcc
  167. Building curl for certain old macOS versions fails when gcc is used. We
  168. command using clang in those cases.
  169. See https://github.com/curl/curl/issues/11441
  170. 5.5 cannot handle Unicode arguments in non-Unicode builds on Windows
  171. If a URL or filename cannot be encoded using the user's current codepage then
  172. it can only be encoded properly in the Unicode character set. Windows uses
  173. UTF-16 encoding for Unicode and stores it in wide characters, however curl
  174. and libcurl are not equipped for that at the moment except when built with
  175. _UNICODE and UNICODE defined. And, except for Cygwin, Windows cannot use UTF-8
  176. as a locale.
  177. https://curl.se/bug/?i=345
  178. https://curl.se/bug/?i=731
  179. https://curl.se/bug/?i=3747
  180. 5.6 cygwin: make install installs curl-config.1 twice
  181. https://github.com/curl/curl/issues/8839
  182. 5.9 Utilize Requires.private directives in libcurl.pc
  183. https://github.com/curl/curl/issues/864
  184. 5.11 configure --with-gssapi with Heimdal is ignored on macOS
  185. ... unless you also pass --with-gssapi-libs
  186. https://github.com/curl/curl/issues/3841
  187. 5.12 flaky CI builds
  188. We run many CI builds for each commit and PR on github, and especially a
  189. number of the Windows builds are flaky. This means that we rarely get all CI
  190. builds go green and complete without errors. This is unfortunate as it makes
  191. us sometimes miss actual build problems and it is surprising to newcomers to
  192. the project who (rightfully) do not expect this.
  193. See https://github.com/curl/curl/issues/6972
  194. 5.13 long paths are not fully supported on Windows
  195. curl on Windows cannot access long paths (paths longer than 260 characters).
  196. However, as a workaround, the Windows path prefix \\?\ which disables all path
  197. interpretation may work to allow curl to access the path. For example:
  198. \\?\c:\longpath.
  199. See https://github.com/curl/curl/issues/8361
  200. 5.14 Windows Unicode builds use homedir in current locale
  201. The Windows Unicode builds of curl use the current locale, but expect Unicode
  202. UTF-8 encoded paths for internal use such as open, access and stat. The user's
  203. home directory is retrieved via curl_getenv in the current locale and not as
  204. UTF-8 encoded Unicode.
  205. See https://github.com/curl/curl/pull/7252 and
  206. https://github.com/curl/curl/pull/7281
  207. 5.15 Unicode on Windows
  208. Passing in a unicode filename with -o:
  209. https://github.com/curl/curl/issues/11461
  210. Passing in unicode character with -d:
  211. https://github.com/curl/curl/issues/12231
  212. 6. Authentication
  213. 6.1 NTLM authentication and unicode
  214. NTLM authentication involving unicode user name or password only works
  215. properly if built with UNICODE defined together with the Schannel
  216. backend. The original problem was mentioned in:
  217. https://curl.se/mail/lib-2009-10/0024.html
  218. https://curl.se/bug/view.cgi?id=896
  219. The Schannel version verified to work as mentioned in
  220. https://curl.se/mail/lib-2012-07/0073.html
  221. 6.2 MIT Kerberos for Windows build
  222. libcurl fails to build with MIT Kerberos for Windows (KfW) due to KfW's
  223. library header files exporting symbols/macros that should be kept private to
  224. the KfW library. See ticket #5601 at https://krbdev.mit.edu/rt/
  225. 6.3 NTLM in system context uses wrong name
  226. NTLM authentication using SSPI (on Windows) when (lib)curl is running in
  227. "system context" will make it use wrong(?) user name - at least when compared
  228. to what winhttp does. See https://curl.se/bug/view.cgi?id=535
  229. 6.5 NTLM does not support password with § character
  230. https://github.com/curl/curl/issues/2120
  231. 6.6 libcurl can fail to try alternatives with --proxy-any
  232. When connecting via a proxy using --proxy-any, a failure to establish an
  233. authentication will cause libcurl to abort trying other options if the
  234. failed method has a higher preference than the alternatives. As an example,
  235. --proxy-any against a proxy which advertise Negotiate and NTLM, but which
  236. fails to set up Kerberos authentication will not proceed to try authentication
  237. using NTLM.
  238. https://github.com/curl/curl/issues/876
  239. 6.7 Do not clear digest for single realm
  240. https://github.com/curl/curl/issues/3267
  241. 6.9 SHA-256 digest not supported in Windows SSPI builds
  242. Windows builds of curl that have SSPI enabled use the native Windows API calls
  243. to create authentication strings. The call to InitializeSecurityContext fails
  244. with SEC_E_QOP_NOT_SUPPORTED which causes curl to fail with CURLE_AUTH_ERROR.
  245. Microsoft does not document supported digest algorithms and that SEC_E error
  246. code is not a documented error for InitializeSecurityContext (digest).
  247. https://github.com/curl/curl/issues/6302
  248. 6.10 curl never completes Negotiate over HTTP
  249. Apparently it is not working correctly...?
  250. See https://github.com/curl/curl/issues/5235
  251. 6.11 Negotiate on Windows fails
  252. When using --negotiate (or NTLM) with curl on Windows, SSL/TLS handshake
  253. fails despite having a valid kerberos ticket cached. Works without any issue
  254. in Unix/Linux.
  255. https://github.com/curl/curl/issues/5881
  256. 6.12 cannot use Secure Transport with Crypto Token Kit
  257. https://github.com/curl/curl/issues/7048
  258. 6.13 Negotiate authentication against Hadoop HDFS
  259. https://github.com/curl/curl/issues/8264
  260. 7. FTP
  261. 7.1 FTP upload fails if remembered dir is deleted
  262. curl's FTP code assumes that the directory it entered in a previous transfer
  263. still exists when it comes back to do a second transfer, and does not respond
  264. well if it was indeed deleted in the mean time.
  265. https://github.com/curl/curl/issues/12181
  266. 7.2 Implicit FTPS upload timeout
  267. https://github.com/curl/curl/issues/11720
  268. 7.3 FTP with NOBODY and FAILONERROR
  269. It seems sensible to be able to use CURLOPT_NOBODY and CURLOPT_FAILONERROR
  270. with FTP to detect if a file exists or not, but it is not working:
  271. https://curl.se/mail/lib-2008-07/0295.html
  272. 7.4 FTP with ACCT
  273. When doing an operation over FTP that requires the ACCT command (but not when
  274. logging in), the operation will fail since libcurl does not detect this and
  275. thus fails to issue the correct command:
  276. https://curl.se/bug/view.cgi?id=635
  277. 7.5 FTPS upload, FileZilla, GnuTLS and close_notify
  278. An issue where curl does not send the TLS alert close_notify, which triggers
  279. the wrath of GnuTLS in FileZilla server, and a FTP reply 426 ECONNABORTED.
  280. https://github.com/curl/curl/issues/11383
  281. 7.11 FTPS upload data loss with TLS 1.3
  282. During FTPS upload curl does not attempt to read TLS handshake messages sent
  283. after the initial handshake. OpenSSL servers running TLS 1.3 may send such a
  284. message. When curl closes the upload connection if unread data has been
  285. received (such as a TLS handshake message) then the TCP protocol sends an
  286. RST to the server, which may cause the server to discard or truncate the
  287. upload if it has not read all sent data yet, and then return an error to curl
  288. on the control channel connection.
  289. Since 7.78.0 this is mostly fixed. curl will do a single read before closing
  290. TLS connections (which causes the TLS library to read handshake messages),
  291. however there is still possibility of an RST if more messages need to be read
  292. or a message arrives after the read but before close (network race condition).
  293. https://github.com/curl/curl/issues/6149
  294. 7.12 FTPS server compatibility on Windows with Schannel
  295. FTPS is not widely used with the Schannel TLS backend and so there may be more
  296. bugs compared to other TLS backends such as OpenSSL. In the past users have
  297. reported hanging and failed connections. It's very likely some changes to curl
  298. since then fixed the issues. None of the reported issues can be reproduced any
  299. longer.
  300. If you encounter an issue connecting to your server via FTPS with the latest
  301. curl and Schannel then please search for open issues or file a new issue.
  302. 9. SFTP and SCP
  303. 9.1 SFTP does not do CURLOPT_POSTQUOTE correct
  304. When libcurl sends CURLOPT_POSTQUOTE commands when connected to a SFTP server
  305. using the multi interface, the commands are not being sent correctly and
  306. instead the connection is "cancelled" (the operation is considered done)
  307. prematurely. There is a half-baked (busy-looping) patch provided in the bug
  308. report but it cannot be accepted as-is. See
  309. https://curl.se/bug/view.cgi?id=748
  310. 9.2 wolfssh: publickey auth does not work
  311. When building curl to use the wolfSSH backend for SFTP, the publickey
  312. authentication does not work. This is simply functionality not written for curl
  313. yet, the necessary API for make this work is provided by wolfSSH.
  314. See https://github.com/curl/curl/issues/4820
  315. 9.3 Remote recursive folder creation with SFTP
  316. On this servers, the curl fails to create directories on the remote server
  317. even when the CURLOPT_FTP_CREATE_MISSING_DIRS option is set.
  318. See https://github.com/curl/curl/issues/5204
  319. 9.4 libssh blocking and infinite loop problem
  320. In the SSH_SFTP_INIT state for libssh, the ssh session working mode is set to
  321. blocking mode. If the network is suddenly disconnected during sftp
  322. transmission, curl will be stuck, even if curl is configured with a timeout.
  323. https://github.com/curl/curl/issues/8632
  324. 9.5 cygwin: "WARNING: UNPROTECTED PRIVATE KEY FILE!"
  325. Running SCP and SFTP tests on cygwin makes this warning message appear.
  326. https://github.com/curl/curl/issues/11244
  327. 10. SOCKS
  328. 10.3 FTPS over SOCKS
  329. libcurl does not support FTPS over a SOCKS proxy.
  330. 11. Internals
  331. 11.2 error buffer not set if connection to multiple addresses fails
  332. If you ask libcurl to resolve a hostname like example.com to IPv6 addresses
  333. only. But you only have IPv4 connectivity. libcurl will correctly fail with
  334. CURLE_COULDNT_CONNECT. But the error buffer set by CURLOPT_ERRORBUFFER
  335. remains empty. Issue: https://github.com/curl/curl/issues/544
  336. 11.4 HTTP test server 'connection-monitor' problems
  337. The 'connection-monitor' feature of the sws HTTP test server does not work
  338. properly if some tests are run in unexpected order. Like 1509 and then 1525.
  339. See https://github.com/curl/curl/issues/868
  340. 11.5 Connection information when using TCP Fast Open
  341. CURLINFO_LOCAL_PORT (and possibly a few other) fails when TCP Fast Open is
  342. enabled.
  343. See https://github.com/curl/curl/issues/1332 and
  344. https://github.com/curl/curl/issues/4296
  345. 12. LDAP
  346. 12.1 OpenLDAP hangs after returning results
  347. By configuration defaults, OpenLDAP automatically chase referrals on
  348. secondary socket descriptors. The OpenLDAP backend is asynchronous and thus
  349. should monitor all socket descriptors involved. Currently, these secondary
  350. descriptors are not monitored, causing OpenLDAP library to never receive
  351. data from them.
  352. As a temporary workaround, disable referrals chasing by configuration.
  353. The fix is not easy: proper automatic referrals chasing requires a
  354. synchronous bind callback and monitoring an arbitrary number of socket
  355. descriptors for a single easy handle (currently limited to 5).
  356. Generic LDAP is synchronous: OK.
  357. See https://github.com/curl/curl/issues/622 and
  358. https://curl.se/mail/lib-2016-01/0101.html
  359. 12.2 LDAP on Windows does authentication wrong?
  360. https://github.com/curl/curl/issues/3116
  361. 12.3 LDAP on Windows does not work
  362. A simple curl command line getting "ldap://ldap.forumsys.com" returns an
  363. error that says "no memory" !
  364. https://github.com/curl/curl/issues/4261
  365. 12.4 LDAPS requests to ActiveDirectory server hang
  366. https://github.com/curl/curl/issues/9580
  367. 13. TCP/IP
  368. 13.2 Trying local ports fails on Windows
  369. This makes '--local-port [range]' to not work since curl cannot properly
  370. detect if a port is already in use, so it will try the first port, use that and
  371. then subsequently fail anyway if that was actually in use.
  372. https://github.com/curl/curl/issues/8112
  373. 15. CMake
  374. 15.1 cmake outputs: no version information available
  375. Something in the SONAME generation seems to be wrong in the cmake build.
  376. https://github.com/curl/curl/issues/11158
  377. 15.2 support build with GnuTLS
  378. 15.3 unusable tool_hugehelp.c with MinGW
  379. see https://github.com/curl/curl/issues/3125
  380. 15.6 uses -lpthread instead of Threads::Threads
  381. See https://github.com/curl/curl/issues/6166
  382. 15.7 generated .pc file contains strange entries
  383. The Libs.private field of the generated .pc file contains -lgcc -lgcc_s -lc
  384. -lgcc -lgcc_s
  385. See https://github.com/curl/curl/issues/6167
  386. 15.11 ExternalProject_Add does not set CURL_CA_PATH
  387. CURL_CA_BUNDLE and CURL_CA_PATH are not set properly when cmake's
  388. ExternalProject_Add is used to build curl as a dependency.
  389. See https://github.com/curl/curl/issues/6313
  390. 15.13 CMake build with MIT Kerberos does not work
  391. Minimum CMake version was bumped in curl 7.71.0 (#5358) Since CMake 3.2
  392. try_compile started respecting the CMAKE_EXE_FLAGS. The code dealing with
  393. MIT Kerberos detection sets few variables to potentially weird mix of space,
  394. and ;-separated flags. It had to blow up at some point. All the CMake checks
  395. that involve compilation are doomed from that point, the configured tree
  396. cannot be built.
  397. https://github.com/curl/curl/issues/6904
  398. 16. aws-sigv4
  399. 16.1 aws-sigv4 does not sign requests with * correctly
  400. https://github.com/curl/curl/issues/7559
  401. 16.6 aws-sigv4 does not behave well with AWS VPC Lattice
  402. https://github.com/curl/curl/issues/11007
  403. 17. HTTP/2
  404. 17.1 HTTP/2 prior knowledge over proxy
  405. https://github.com/curl/curl/issues/12641
  406. 17.2 HTTP/2 frames while in the connection pool kill reuse
  407. If the server sends HTTP/2 frames (like for example an HTTP/2 PING frame) to
  408. curl while the connection is held in curl's connection pool, the socket will
  409. be found readable when considered for reuse and that makes curl think it is
  410. dead and then it will be closed and a new connection gets created instead.
  411. This is *best* fixed by adding monitoring to connections while they are kept
  412. in the pool so that pings can be responded to appropriately.
  413. 17.3 ENHANCE_YOUR_CALM causes infinite retries
  414. Infinite retries with 2 parallel requests on one connection receiving GOAWAY
  415. with ENHANCE_YOUR_CALM error code.
  416. See https://github.com/curl/curl/issues/5119
  417. 18. HTTP/3
  418. 18.1 connection migration does not work
  419. https://github.com/curl/curl/issues/7695
  420. 19. RTSP
  421. 19.1 Some methods do not support response bodies
  422. The RTSP implementation is written to assume that a number of RTSP methods
  423. will always get responses without bodies, even though there seems to be no
  424. indication in the RFC that this is always the case.
  425. https://github.com/curl/curl/issues/12414