mirror of
https://github.com/curl/curl.git
synced 2026-07-03 23:57:18 +03:00
TODO: remove already implemented or bad items
- remove "connect to multiple IPs in parallel" - remove "CURLOPT_RESOLVE for any port number", It can already be accomplished with CURLOPT_CONNECT_TO - remove "dynamically load modules", we don't believe in this - remove "netrc caching and sharing", we already cache it - remove "Offer API to flush the connection pool", this is effectively what CURLMOPT_NETWORK_CHANGED now allows - remove "WebSocket read callback", introduced in 8.16.0 Closes #18542
This commit is contained in:
parent
d52af3c692
commit
6bb53f29ef
1 changed files with 0 additions and 53 deletions
53
docs/TODO
53
docs/TODO
|
|
@ -23,24 +23,18 @@
|
|||
1.4 alt-svc sharing
|
||||
1.5 get rid of PATH_MAX
|
||||
1.6 thread-safe sharing
|
||||
1.8 CURLOPT_RESOLVE for any port number
|
||||
1.10 auto-detect proxy
|
||||
1.11 minimize dependencies with dynamically loaded modules
|
||||
1.12 updated DNS server while running
|
||||
1.13 c-ares and CURLOPT_OPENSOCKETFUNCTION
|
||||
1.14 connect to multiple IPs in parallel
|
||||
1.15 Monitor connections in the connection pool
|
||||
1.16 Try to URL encode given URL
|
||||
1.17 Add support for IRIs
|
||||
1.18 try next proxy if one does not work
|
||||
1.19 provide timing info for each redirect
|
||||
1.20 SRV and URI DNS records
|
||||
1.21 netrc caching and sharing
|
||||
1.22 CURLINFO_PAUSE_STATE
|
||||
1.23 Offer API to flush the connection pool
|
||||
1.25 Expose tried IP addresses that failed
|
||||
1.28 FD_CLOEXEC
|
||||
1.29 WebSocket read callback
|
||||
1.30 config file parsing
|
||||
1.31 erase secrets from heap/stack after use
|
||||
1.32 add asynch getaddrinfo support
|
||||
|
|
@ -252,14 +246,6 @@
|
|||
share between multiple concurrent threads. Fixing this would enable more
|
||||
users to share data in more powerful ways.
|
||||
|
||||
1.8 CURLOPT_RESOLVE for any port number
|
||||
|
||||
This option allows applications to set a replacement IP address for a given
|
||||
host + port pair. Consider making support for providing a replacement address
|
||||
for the hostname on all port numbers.
|
||||
|
||||
See https://github.com/curl/curl/issues/1264
|
||||
|
||||
1.10 auto-detect proxy
|
||||
|
||||
libcurl could be made to detect the system proxy setup automatically and use
|
||||
|
|
@ -272,14 +258,6 @@
|
|||
libdetectproxy is a (C++) library for detecting the proxy on Windows
|
||||
https://github.com/paulharris/libdetectproxy
|
||||
|
||||
1.11 minimize dependencies with dynamically loaded modules
|
||||
|
||||
We can create a system with loadable modules/plug-ins, where these modules
|
||||
would be the ones that link to 3rd party libs. That would allow us to avoid
|
||||
having to load ALL dependencies since only the necessary ones for this
|
||||
app/invoke/used protocols would be necessary to load. See
|
||||
https://github.com/curl/curl/issues/349
|
||||
|
||||
1.12 updated DNS server while running
|
||||
|
||||
If /etc/resolv.conf gets updated while a program using libcurl is running, it
|
||||
|
|
@ -301,17 +279,6 @@
|
|||
|
||||
See https://github.com/curl/curl/issues/2734
|
||||
|
||||
1.14 connect to multiple IPs in parallel
|
||||
|
||||
curl currently implements the happy eyeball algorithm for connecting to the
|
||||
IPv4 and IPv6 alternatives for a host in parallel, sticking with the
|
||||
connection that "wins". We could implement a similar algorithm per individual
|
||||
IP family as well when there are multiple available addresses: start with the
|
||||
first address, then start a second attempt N milliseconds after and then a
|
||||
third another N milliseconds later. That way there would be less waiting when
|
||||
the first IP has problems. It also improves the connection timeout value
|
||||
handling for multiple address situations.
|
||||
|
||||
1.15 Monitor connections in the connection pool
|
||||
|
||||
libcurl's connection cache or pool holds a number of open connections for the
|
||||
|
|
@ -368,24 +335,11 @@
|
|||
Offer support for resolving SRV and URI DNS records for libcurl to know which
|
||||
server to connect to for various protocols (including HTTP).
|
||||
|
||||
1.21 netrc caching and sharing
|
||||
|
||||
The netrc file is read and parsed each time a connection is setup, which
|
||||
means that if a transfer needs multiple connections for authentication or
|
||||
redirects, the file might be reread (and parsed) multiple times. This makes
|
||||
it impossible to provide the file as a pipe.
|
||||
|
||||
1.22 CURLINFO_PAUSE_STATE
|
||||
|
||||
Return information about the transfer's current pause state, in both
|
||||
directions. https://github.com/curl/curl/issues/2588
|
||||
|
||||
1.23 Offer API to flush the connection pool
|
||||
|
||||
Sometimes applications want to flush all the existing connections kept alive.
|
||||
An API could allow a forced flush or just a forced loop that would properly
|
||||
close all connections that have been closed by the server already.
|
||||
|
||||
1.25 Expose tried IP addresses that failed
|
||||
|
||||
When libcurl fails to connect to a host, it could offer the application the
|
||||
|
|
@ -403,13 +357,6 @@
|
|||
|
||||
https://github.com/curl/curl/issues/2252
|
||||
|
||||
1.29 WebSocket read callback
|
||||
|
||||
Call the read callback once the connection is established to allow sending
|
||||
the first message in the connection.
|
||||
|
||||
https://github.com/curl/curl/issues/11402
|
||||
|
||||
1.30 config file parsing
|
||||
|
||||
Consider providing an API, possibly in a separate companion library, for
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue