• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1                                  _   _ ____  _
2                              ___| | | |  _ \| |
3                             / __| | | | |_) | |
4                            | (__| |_| |  _ <| |___
5                             \___|\___/|_| \_\_____|
6
7                                  Known Bugs
8
9These are problems and bugs known to exist at the time of this release. Feel
10free to join in and help us correct one or more of these. Also be sure to
11check the changelog of the current development status, as one or more of these
12problems may have been fixed or changed somewhat since this was written.
13
14 1. HTTP
15 1.5 Expect-100 meets 417
16
17 2. TLS
18 2.3 Unable to use PKCS12 certificate with Secure Transport
19 2.4 Secure Transport will not import PKCS#12 client certificates without a password
20 2.5 Client cert handling with Issuer DN differs between backends
21 2.7 Client cert (MTLS) issues with Schannel
22 2.8 Schannel disable CURLOPT_SSL_VERIFYPEER and verify hostname
23 2.9 TLS session cache does not work with TFO
24 2.11 Schannel TLS 1.2 handshake bug in old Windows versions
25 2.12 FTPS with Schannel times out file list operation
26 2.13 CURLOPT_CERTINFO results in CURLE_OUT_OF_MEMORY with Schannel
27 2.15 Renegotiate from server may cause hang for OpenSSL backend
28
29 3. Email protocols
30 3.1 IMAP SEARCH ALL truncated response
31 3.2 No disconnect command
32 3.3 POP3 expects "CRLF.CRLF" eob for some single-line responses
33 3.4 AUTH PLAIN for SMTP is not working on all servers
34
35 4. Command line
36 4.1 -J and -O with %-encoded file names
37 4.2 -J with -C - fails
38 4.3 --retry and transfer timeouts
39
40 5. Build and portability issues
41 5.1 OS400 port requires deprecated IBM library
42 5.2 curl-config --libs contains private details
43 5.3 curl compiled on OSX 10.13 failed to run on OSX 10.10
44 5.5 cannot handle Unicode arguments in non-Unicode builds on Windows
45 5.6 make distclean loops forever
46 5.8 configure finding libs in wrong directory
47 5.9 Utilize Requires.private directives in libcurl.pc
48 5.11 configure --with-gssapi with Heimdal is ignored on macOS
49 5.12 flaky Windows CI builds
50 5.13 long paths are not fully supported on Windows
51 5.14 Windows Unicode builds use homedir in current locale
52
53 6. Authentication
54 6.1 NTLM authentication and unicode
55 6.2 MIT Kerberos for Windows build
56 6.3 NTLM in system context uses wrong name
57 6.4 Negotiate and Kerberos V5 need a fake user name
58 6.5 NTLM does not support password with § character
59 6.6 libcurl can fail to try alternatives with --proxy-any
60 6.7 Do not clear digest for single realm
61 6.9 SHA-256 digest not supported in Windows SSPI builds
62 6.10 curl never completes Negotiate over HTTP
63 6.11 Negotiate on Windows fails
64 6.12 cannot use Secure Transport with Crypto Token Kit
65 6.13 Negotiate against Hadoop HDFS
66
67 7. FTP
68 7.3 FTP with NOBODY and FAILONERROR
69 7.4 FTP with ACCT
70 7.11 FTPS upload data loss with TLS 1.3
71 7.12 FTPS directory listing hangs on Windows with Schannel
72
73 9. SFTP and SCP
74 9.1 SFTP does not do CURLOPT_POSTQUOTE correct
75 9.2 wolfssh: publickey auth does not work
76 9.3 Remote recursive folder creation with SFTP
77 9.4 libssh blocking and infinite loop problem
78
79 10. SOCKS
80 10.3 FTPS over SOCKS
81
82 11. Internals
83 11.1 Curl leaks .onion hostnames in DNS
84 11.2 error buffer not set if connection to multiple addresses fails
85 11.4 HTTP test server 'connection-monitor' problems
86 11.5 Connection information when using TCP Fast Open
87 11.7 signal-based resolver timeouts
88 11.10 Blocking socket operations in non-blocking API
89 11.11 A shared connection cache is not thread-safe
90 11.15 CURLOPT_OPENSOCKETPAIRFUNCTION is missing
91 11.16 libcurl uses renames instead of locking for atomic operations
92
93 12. LDAP
94 12.1 OpenLDAP hangs after returning results
95 12.2 LDAP on Windows does authentication wrong?
96 12.3 LDAP on Windows does not work
97 12.4 LDAPS with NSS is slow
98
99 13. TCP/IP
100 13.2 Trying local ports fails on Windows
101
102 15. CMake
103 15.2 support build with GnuTLS
104 15.3 unusable tool_hugehelp.c with MinGW
105 15.4 build docs/curl.1
106 15.5 build on Linux links libcurl to libdl
107 15.6 uses -lpthread instead of Threads::Threads
108 15.7 generated .pc file contains strange entries
109 15.8 libcurl.pc uses absolute library paths
110 15.10 libpsl is not supported
111 15.11 ExternalProject_Add does not set CURL_CA_PATH
112 15.13 CMake build with MIT Kerberos does not work
113
114 16. Applications
115
116 17. HTTP/2
117 17.2 HTTP/2 frames while in the connection pool kill reuse
118 17.3 ENHANCE_YOUR_CALM causes infinite retries
119
120 18. HTTP/3
121 18.1 If the HTTP/3 server closes connection during upload curl hangs
122 18.2 Transfer closed with n bytes remaining to read
123 18.4 timeout when reusing an http3 connection
124 18.9 connection migration does not work
125
126==============================================================================
127
1281. HTTP
129
1301.5 Expect-100 meets 417
131
132 If an upload using Expect: 100-continue receives an HTTP 417 response, it
133 ought to be automatically resent without the Expect:. A workaround is for
134 the client application to redo the transfer after disabling Expect:.
135 https://curl.se/mail/archive-2008-02/0043.html
136
1372. TLS
138
1392.3 Unable to use PKCS12 certificate with Secure Transport
140
141 See https://github.com/curl/curl/issues/5403
142
1432.4 Secure Transport will not import PKCS#12 client certificates without a password
144
145 libcurl calls SecPKCS12Import with the PKCS#12 client certificate, but that
146 function rejects certificates that do not have a password.
147 https://github.com/curl/curl/issues/1308
148
1492.5 Client cert handling with Issuer DN differs between backends
150
151 When the specified client certificate does not match any of the
152 server-specified DNs, the OpenSSL and GnuTLS backends behave differently.
153 The github discussion may contain a solution.
154
155 See https://github.com/curl/curl/issues/1411
156
1572.7 Client cert (MTLS) issues with Schannel
158
159 See https://github.com/curl/curl/issues/3145
160
1612.8 Schannel disable CURLOPT_SSL_VERIFYPEER and verify hostname
162
163 This seems to be a limitation in the underlying Schannel API.
164
165 https://github.com/curl/curl/issues/3284
166
1672.9 TLS session cache does not work with TFO
168
169 See https://github.com/curl/curl/issues/4301
170
1712.11 Schannel TLS 1.2 handshake bug in old Windows versions
172
173 In old versions of Windows such as 7 and 8.1 the Schannel TLS 1.2 handshake
174 implementation likely has a bug that can rarely cause the key exchange to
175 fail, resulting in error SEC_E_BUFFER_TOO_SMALL or SEC_E_MESSAGE_ALTERED.
176
177 https://github.com/curl/curl/issues/5488
178
1792.12 FTPS with Schannel times out file list operation
180
181 "Instead of the command completing, it just sits there until the timeout
182 expires." - the same command line seems to work with other TLS backends and
183 other operating systems. See https://github.com/curl/curl/issues/5284.
184
1852.13 CURLOPT_CERTINFO results in CURLE_OUT_OF_MEMORY with Schannel
186
187 https://github.com/curl/curl/issues/8741
188
1892.15 Renegotiate from server may cause hang for OpenSSL backend
190
191 A race condition has been observed when, immediately after the initial
192 handshake, curl has sent an HTTP request to the server and at the same time
193 the server has sent a TLS hello request (renegotiate) to curl. Both are
194 waiting for the other to respond. OpenSSL is supposed to send a handshake
195 response but does not.
196
197 https://github.com/curl/curl/issues/6785
198 https://github.com/openssl/openssl/issues/14722
199
2003. Email protocols
201
2023.1 IMAP SEARCH ALL truncated response
203
204 IMAP "SEARCH ALL" truncates output on large boxes. "A quick search of the
205 code reveals that pingpong.c contains some truncation code, at line 408, when
206 it deems the server response to be too large truncating it to 40 characters"
207 https://curl.se/bug/view.cgi?id=1366
208
2093.2 No disconnect command
210
211 The disconnect commands (LOGOUT and QUIT) may not be sent by IMAP, POP3 and
212 SMTP if a failure occurs during the authentication phase of a connection.
213
2143.3 POP3 expects "CRLF.CRLF" eob for some single-line responses
215
216 You have to tell libcurl not to expect a body, when dealing with one line
217 response commands. Please see the POP3 examples and test cases which show
218 this for the NOOP and DELE commands. https://curl.se/bug/?i=740
219
2203.4 AUTH PLAIN for SMTP is not working on all servers
221
222 Specifying "--login-options AUTH=PLAIN" on the command line does not seem to
223 work correctly.
224
225 See https://github.com/curl/curl/issues/4080
226
2274. Command line
228
2294.1 -J and -O with %-encoded file names
230
231 -J/--remote-header-name does not decode %-encoded file names. RFC6266 details
232 how it should be done. The can of worm is basically that we have no charset
233 handling in curl and ascii >=128 is a challenge for us. Not to mention that
234 decoding also means that we need to check for nastiness that is attempted,
235 like "../" sequences and the like. Probably everything to the left of any
236 embedded slashes should be cut off.
237 https://curl.se/bug/view.cgi?id=1294
238
239 -O also does not decode %-encoded names, and while it has even less
240 information about the charset involved the process is similar to the -J case.
241
242 Note that we will not add decoding to -O without the user asking for it with
243 some other means as well, since -O has always been documented to use the name
244 exactly as specified in the URL.
245
2464.2 -J with -C - fails
247
248 When using -J (with -O), automatically resumed downloading together with "-C
249 -" fails. Without -J the same command line works. This happens because the
250 resume logic is worked out before the target file name (and thus its
251 pre-transfer size) has been figured out.
252 https://curl.se/bug/view.cgi?id=1169
253
2544.3 --retry and transfer timeouts
255
256 If using --retry and the transfer timeouts (possibly due to using -m or
257 -y/-Y) the next attempt does not resume the transfer properly from what was
258 downloaded in the previous attempt but will truncate and restart at the
259 original position where it was at before the previous failed attempt. See
260 https://curl.se/mail/lib-2008-01/0080.html and Mandriva bug report
261 https://qa.mandriva.com/show_bug.cgi?id=22565
262
2635. Build and portability issues
264
2655.1 OS400 port requires deprecated IBM library
266
267 curl for OS400 requires QADRT to build, which provides ASCII wrappers for
268 libc/POSIX functions in the ILE, but IBM no longer supports or even offers
269 this library to download.
270
271 See https://github.com/curl/curl/issues/5176
272
2735.2 curl-config --libs contains private details
274
275 "curl-config --libs" will include details set in LDFLAGS when configure is
276 run that might be needed only for building libcurl. Further, curl-config
277 --cflags suffers from the same effects with CFLAGS/CPPFLAGS.
278
2795.3 curl compiled on OSX 10.13 failed to run on OSX 10.10
280
281 See https://github.com/curl/curl/issues/2905
282
2835.5 cannot handle Unicode arguments in non-Unicode builds on Windows
284
285 If a URL or filename cannot be encoded using the user's current codepage then
286 it can only be encoded properly in the Unicode character set. Windows uses
287 UTF-16 encoding for Unicode and stores it in wide characters, however curl
288 and libcurl are not equipped for that at the moment except when built with
289 _UNICODE and UNICODE defined. And, except for Cygwin, Windows cannot use UTF-8
290 as a locale.
291
292  https://curl.se/bug/?i=345
293  https://curl.se/bug/?i=731
294  https://curl.se/bug/?i=3747
295
2965.6 make distclean loops forever
297
298 Due to an issue (probably) in automake, "make distclean" can end up in a
299 never-ending loop.
300
301 See https://github.com/curl/curl/issues/7716
302
3035.8 configure finding libs in wrong directory
304
305 When the configure script checks for third-party libraries, it adds those
306 directories to the LDFLAGS variable and then tries linking to see if it
307 works. When successful, the found directory is kept in the LDFLAGS variable
308 when the script continues to execute and do more tests and possibly check for
309 more libraries.
310
311 This can make subsequent checks for libraries wrongly detect another
312 installation in a directory that was previously added to LDFLAGS by another
313 library check.
314
315 A possibly better way to do these checks would be to keep the pristine LDFLAGS
316 even after successful checks and instead add those verified paths to a
317 separate variable that only after all library checks have been performed gets
318 appended to LDFLAGS.
319
3205.9 Utilize Requires.private directives in libcurl.pc
321
322 https://github.com/curl/curl/issues/864
323
3245.11 configure --with-gssapi with Heimdal is ignored on macOS
325
326 ... unless you also pass --with-gssapi-libs
327
328 https://github.com/curl/curl/issues/3841
329
3305.12 flaky Windows CI builds
331
332 We run many CI builds for each commit and PR on github, and especially a
333 number of the Windows builds are flaky. This means that we rarely get all CI
334 builds go green and complete without errors. This is unfortunate as it makes
335 us sometimes miss actual build problems and it is surprising to newcomers to
336 the project who (rightfully) do not expect this.
337
338 See https://github.com/curl/curl/issues/6972
339
3405.13 long paths are not fully supported on Windows
341
342 curl on Windows cannot access long paths (paths longer than 260 characters).
343 However, as a workaround, the Windows path prefix \\?\ which disables all path
344 interpretation may work to allow curl to access the path. For example:
345 \\?\c:\longpath.
346
347 See https://github.com/curl/curl/issues/8361
348
3495.14 Windows Unicode builds use homedir in current locale
350
351 The Windows Unicode builds of curl use the current locale, but expect Unicode
352 UTF-8 encoded paths for internal use such as open, access and stat. The user's
353 home directory is retrieved via curl_getenv in the current locale and not as
354 UTF-8 encoded Unicode.
355
356 See https://github.com/curl/curl/pull/7252 and
357     https://github.com/curl/curl/pull/7281
358
3596. Authentication
360
3616.1 NTLM authentication and unicode
362
363 NTLM authentication involving unicode user name or password only works
364 properly if built with UNICODE defined together with the Schannel
365 backend. The original problem was mentioned in:
366 https://curl.se/mail/lib-2009-10/0024.html
367 https://curl.se/bug/view.cgi?id=896
368
369 The Schannel version verified to work as mentioned in
370 https://curl.se/mail/lib-2012-07/0073.html
371
3726.2 MIT Kerberos for Windows build
373
374 libcurl fails to build with MIT Kerberos for Windows (KfW) due to KfW's
375 library header files exporting symbols/macros that should be kept private to
376 the KfW library. See ticket #5601 at https://krbdev.mit.edu/rt/
377
3786.3 NTLM in system context uses wrong name
379
380 NTLM authentication using SSPI (on Windows) when (lib)curl is running in
381 "system context" will make it use wrong(?) user name - at least when compared
382 to what winhttp does. See https://curl.se/bug/view.cgi?id=535
383
3846.4 Negotiate and Kerberos V5 need a fake user name
385
386 In order to get Negotiate (SPNEGO) authentication to work in HTTP or Kerberos
387 V5 in the email protocols, you need to  provide a (fake) user name (this
388 concerns both curl and the lib) because the code wrongly only considers
389 authentication if there's a user name provided by setting
390 conn->bits.user_passwd in url.c  https://curl.se/bug/view.cgi?id=440 How?
391 https://curl.se/mail/lib-2004-08/0182.html A possible solution is to
392 either modify this variable to be set or introduce a variable such as
393 new conn->bits.want_authentication which is set when any of the authentication
394 options are set.
395
3966.5 NTLM does not support password with § character
397
398 https://github.com/curl/curl/issues/2120
399
4006.6 libcurl can fail to try alternatives with --proxy-any
401
402 When connecting via a proxy using --proxy-any, a failure to establish an
403 authentication will cause libcurl to abort trying other options if the
404 failed method has a higher preference than the alternatives. As an example,
405 --proxy-any against a proxy which advertise Negotiate and NTLM, but which
406 fails to set up Kerberos authentication will not proceed to try authentication
407 using NTLM.
408
409 https://github.com/curl/curl/issues/876
410
4116.7 Do not clear digest for single realm
412
413 https://github.com/curl/curl/issues/3267
414
4156.9 SHA-256 digest not supported in Windows SSPI builds
416
417 Windows builds of curl that have SSPI enabled use the native Windows API calls
418 to create authentication strings. The call to InitializeSecurityContext fails
419 with SEC_E_QOP_NOT_SUPPORTED which causes curl to fail with CURLE_AUTH_ERROR.
420
421 Microsoft does not document supported digest algorithms and that SEC_E error
422 code is not a documented error for InitializeSecurityContext (digest).
423
424 https://github.com/curl/curl/issues/6302
425
4266.10 curl never completes Negotiate over HTTP
427
428 Apparently it is not working correctly...?
429
430 See https://github.com/curl/curl/issues/5235
431
4326.11 Negotiate on Windows fails
433
434 When using --negotiate (or NTLM) with curl on Windows, SSL/TLS handshake
435 fails despite having a valid kerberos ticket cached. Works without any issue
436 in Unix/Linux.
437
438 https://github.com/curl/curl/issues/5881
439
4406.12 cannot use Secure Transport with Crypto Token Kit
441
442 https://github.com/curl/curl/issues/7048
443
4446.13 Negotiate authentication against Hadoop HDFS
445
446 https://github.com/curl/curl/issues/8264
447
4487. FTP
449
4507.3 FTP with NOBODY and FAILONERROR
451
452 It seems sensible to be able to use CURLOPT_NOBODY and CURLOPT_FAILONERROR
453 with FTP to detect if a file exists or not, but it is not working:
454 https://curl.se/mail/lib-2008-07/0295.html
455
4567.4 FTP with ACCT
457
458 When doing an operation over FTP that requires the ACCT command (but not when
459 logging in), the operation will fail since libcurl does not detect this and
460 thus fails to issue the correct command:
461 https://curl.se/bug/view.cgi?id=635
462
4637.11 FTPS upload data loss with TLS 1.3
464
465 During FTPS upload curl does not attempt to read TLS handshake messages sent
466 after the initial handshake. OpenSSL servers running TLS 1.3 may send such a
467 message. When curl closes the upload connection if unread data has been
468 received (such as a TLS handshake message) then the TCP protocol sends an
469 RST to the server, which may cause the server to discard or truncate the
470 upload if it has not read all sent data yet, and then return an error to curl
471 on the control channel connection.
472
473 Since 7.78.0 this is mostly fixed. curl will do a single read before closing
474 TLS connections (which causes the TLS library to read handshake messages),
475 however there is still possibility of an RST if more messages need to be read
476 or a message arrives after the read but before close (network race condition).
477
478 https://github.com/curl/curl/issues/6149
479
4807.12 FTPS directory listing hangs on Windows with Schannel
481
482 https://github.com/curl/curl/issues/9161
483
4849. SFTP and SCP
485
4869.1 SFTP does not do CURLOPT_POSTQUOTE correct
487
488 When libcurl sends CURLOPT_POSTQUOTE commands when connected to a SFTP server
489 using the multi interface, the commands are not being sent correctly and
490 instead the connection is "cancelled" (the operation is considered done)
491 prematurely. There is a half-baked (busy-looping) patch provided in the bug
492 report but it cannot be accepted as-is. See
493 https://curl.se/bug/view.cgi?id=748
494
4959.2 wolfssh: publickey auth does not work
496
497 When building curl to use the wolfSSH backend for SFTP, the publickey
498 authentication does not work. This is simply functionality not written for curl
499 yet, the necessary API for make this work is provided by wolfSSH.
500
501 See https://github.com/curl/curl/issues/4820
502
5039.3 Remote recursive folder creation with SFTP
504
505 On this servers, the curl fails to create directories on the remote server
506 even when the CURLOPT_FTP_CREATE_MISSING_DIRS option is set.
507
508 See https://github.com/curl/curl/issues/5204
509
5109.4 libssh blocking and infinite loop problem
511
512 In the SSH_SFTP_INIT state for libssh, the ssh session working mode is set to
513 blocking mode. If the network is suddenly disconnected during sftp
514 transmission, curl will be stuck, even if curl is configured with a timeout.
515
516 https://github.com/curl/curl/issues/8632
517
518
51910. SOCKS
520
52110.3 FTPS over SOCKS
522
523 libcurl does not support FTPS over a SOCKS proxy.
524
525
52611. Internals
527
52811.1 Curl leaks .onion hostnames in DNS
529
530 Curl sends DNS requests for hostnames with a .onion TLD. This leaks
531 information about what the user is attempting to access, and violates this
532 requirement of RFC7686: https://datatracker.ietf.org/doc/html/rfc7686
533
534 Issue: https://github.com/curl/curl/issues/543
535
53611.2 error buffer not set if connection to multiple addresses fails
537
538 If you ask libcurl to resolve a hostname like example.com to IPv6 addresses
539 only. But you only have IPv4 connectivity. libcurl will correctly fail with
540 CURLE_COULDNT_CONNECT. But the error buffer set by CURLOPT_ERRORBUFFER
541 remains empty. Issue: https://github.com/curl/curl/issues/544
542
54311.4 HTTP test server 'connection-monitor' problems
544
545 The 'connection-monitor' feature of the sws HTTP test server does not work
546 properly if some tests are run in unexpected order. Like 1509 and then 1525.
547
548 See https://github.com/curl/curl/issues/868
549
55011.5 Connection information when using TCP Fast Open
551
552 CURLINFO_LOCAL_PORT (and possibly a few other) fails when TCP Fast Open is
553 enabled.
554
555 See https://github.com/curl/curl/issues/1332 and
556 https://github.com/curl/curl/issues/4296
557
55811.7 signal-based resolver timeouts
559
560 libcurl built without an asynchronous resolver library uses alarm() to time
561 out DNS lookups. When a timeout occurs, this causes libcurl to jump from the
562 signal handler back into the library with a sigsetjmp, which effectively
563 causes libcurl to continue running within the signal handler. This is
564 non-portable and could cause problems on some platforms. A discussion on the
565 problem is available at https://curl.se/mail/lib-2008-09/0197.html
566
567 Also, alarm() provides timeout resolution only to the nearest second. alarm
568 ought to be replaced by setitimer on systems that support it.
569
57011.10 Blocking socket operations in non-blocking API
571
572 The list of blocking socket operations is in TODO section "More non-blocking".
573
57411.11 A shared connection cache is not thread-safe
575
576 The share interface offers CURL_LOCK_DATA_CONNECT to have multiple easy
577 handle share a connection cache, but due to how connections are used they are
578 still not thread-safe when used shared.
579
580 See https://github.com/curl/curl/issues/4915 and lib1541.c
581
58211.15 CURLOPT_OPENSOCKETPAIRFUNCTION is missing
583
584 When libcurl creates sockets with socketpair(), those are not "exposed" in
585 CURLOPT_OPENSOCKETFUNCTION and therefore might surprise and be unknown to
586 applications that expect and want all sockets known beforehand. One way to
587 address this issue is to introduce a CURLOPT_OPENSOCKETPAIRFUNCTION callback.
588
589 https://github.com/curl/curl/issues/5747
590
59111.16 libcurl uses renames instead of locking for atomic operations
592
593 For saving cookies, alt-svc and hsts files. This is bad when for example the
594 file is stored in a directory where the application has no write permission
595 but it has permission for the file.
596
597 https://github.com/curl/curl/issues/6882
598 https://github.com/curl/curl/pull/6884
599
60012. LDAP
601
60212.1 OpenLDAP hangs after returning results
603
604 By configuration defaults, OpenLDAP automatically chase referrals on
605 secondary socket descriptors. The OpenLDAP backend is asynchronous and thus
606 should monitor all socket descriptors involved. Currently, these secondary
607 descriptors are not monitored, causing OpenLDAP library to never receive
608 data from them.
609
610 As a temporary workaround, disable referrals chasing by configuration.
611
612 The fix is not easy: proper automatic referrals chasing requires a
613 synchronous bind callback and monitoring an arbitrary number of socket
614 descriptors for a single easy handle (currently limited to 5).
615
616 Generic LDAP is synchronous: OK.
617
618 See https://github.com/curl/curl/issues/622 and
619     https://curl.se/mail/lib-2016-01/0101.html
620
62112.2 LDAP on Windows does authentication wrong?
622
623 https://github.com/curl/curl/issues/3116
624
62512.3 LDAP on Windows does not work
626
627 A simple curl command line getting "ldap://ldap.forumsys.com" returns an
628 error that says "no memory" !
629
630 https://github.com/curl/curl/issues/4261
631
63212.4 LDAPS with NSS is slow
633
634 See https://github.com/curl/curl/issues/5874
635
63613. TCP/IP
637
63813.2 Trying local ports fails on Windows
639
640 This makes '--local-port [range]' to not work since curl can't properly
641 detect if a port is already in use, so it'll try the first port, use that and
642 then subsequently fail anyway if that was actually in use.
643
644 https://github.com/curl/curl/issues/8112
645
64615. CMake
647
64815.2 support build with GnuTLS
649
65015.3 unusable tool_hugehelp.c with MinGW
651
652 see https://github.com/curl/curl/issues/3125
653
65415.4 build docs/curl.1
655
656 The cmake build does not create the docs/curl.1 file and therefore must rely on
657 it being there already. This makes the --manual option not work and test
658 cases like 1139 cannot function.
659
66015.5 build on Linux links libcurl to libdl
661
662 ... which it should not need to!
663
664 See https://github.com/curl/curl/issues/6165
665
66615.6 uses -lpthread instead of Threads::Threads
667
668 See https://github.com/curl/curl/issues/6166
669
67015.7 generated .pc file contains strange entries
671
672 The Libs.private field of the generated .pc file contains -lgcc -lgcc_s -lc
673 -lgcc -lgcc_s
674
675 See https://github.com/curl/curl/issues/6167
676
67715.8 libcurl.pc uses absolute library paths
678
679 The libcurl.pc file generated by cmake contains things like Libs.private:
680 /usr/lib64/libssl.so /usr/lib64/libcrypto.so /usr/lib64/libz.so. The
681 autotools equivalent would say Libs.private: -lssl -lcrypto -lz
682
683 See https://github.com/curl/curl/issues/6169
684
68515.10 libpsl is not supported
686
687 See https://github.com/curl/curl/issues/6214
688
68915.11 ExternalProject_Add does not set CURL_CA_PATH
690
691 CURL_CA_BUNDLE and CURL_CA_PATH are not set properly when cmake's
692 ExternalProject_Add is used to build curl as a dependency.
693
694 See https://github.com/curl/curl/issues/6313
695
69615.13 CMake build with MIT Kerberos does not work
697
698 Minimum CMake version was bumped in curl 7.71.0 (#5358) Since CMake 3.2
699 try_compile started respecting the CMAKE_EXE_FLAGS. The code dealing with
700 MIT Kerberos detection sets few variables to potentially weird mix of space,
701 and ;-separated flags. It had to blow up at some point. All the CMake checks
702 that involve compilation are doomed from that point, the configured tree
703 cannot be built.
704
705 https://github.com/curl/curl/issues/6904
706
70716. Applications
708
70917. HTTP/2
710
71117.2 HTTP/2 frames while in the connection pool kill reuse
712
713 If the server sends HTTP/2 frames (like for example an HTTP/2 PING frame) to
714 curl while the connection is held in curl's connection pool, the socket will
715 be found readable when considered for reuse and that makes curl think it is
716 dead and then it will be closed and a new connection gets created instead.
717
718 This is *best* fixed by adding monitoring to connections while they are kept
719 in the pool so that pings can be responded to appropriately.
720
72117.3 ENHANCE_YOUR_CALM causes infinite retries
722
723 Infinite retries with 2 parallel requests on one connection receiving GOAWAY
724 with ENHANCE_YOUR_CALM error code.
725
726 See https://github.com/curl/curl/issues/5119
727
72818. HTTP/3
729
73018.1 If the HTTP/3 server closes connection during upload curl hangs
731
732 See https://github.com/curl/curl/issues/6606
733
73418.2 Transfer closed with n bytes remaining to read
735
736 HTTP/3 transfers with the Jetty HTTP/3 server seem to not work.
737
738 https://github.com/curl/curl/issues/8523
739
74018.4 timeout when reusing an http3 connection
741
742 HTTP/3 with quiche seems to not work and always timeout a subsequent transfer
743 that reuses an already established connection
744
745 https://github.com/curl/curl/issues/8764
746
74718.9 connection migration does not work
748
749 https://github.com/curl/curl/issues/7695
750