diff options
Diffstat (limited to 'docs/TODO')
-rw-r--r-- | docs/TODO | 75 |
1 files changed, 37 insertions, 38 deletions
@@ -12,16 +12,15 @@ All bugs documented in the KNOWN_BUGS document are subject for fixing! 1. libcurl - 1.1 Zero-copy interface 1.2 More data sharing 1.3 struct lifreq 1.4 signal-based resolver timeouts 1.5 get rid of PATH_MAX + 1.6 progress callback without doubles 2. libcurl - multi interface 2.1 More non-blocking 2.2 Remove easy interface internally - 2.3 Avoid having to remove/readd handles 2.4 Fix HTTP Pipelining for PUT 3. Documentation @@ -54,12 +53,10 @@ 7.5 Export session ids 7.6 Provide callback for cert verification 7.7 Support other SSL libraries - 7.8 Support SRP on the TLS layer 7.9 improve configure --with-ssl 8. GnuTLS 8.1 SSL engine stuff - 8.2 SRP 8.3 check connection 8.4 non-gcrypt @@ -77,6 +74,7 @@ 11.6 url-specific options 11.7 metalink support 11.8 warning when setting an option + 11.9 IPv6 addresses with globbing 12. Build 12.1 roffit @@ -100,17 +98,13 @@ 15.5 remove CURLOPT_FAILONERROR 15.6 remove CURLOPT_DNS_USE_GLOBAL_CACHE 15.7 remove progress meter from libcurl + 15.8 remove 'curl_httppost' from public + 15.9 have form functions use CURL handle argument ============================================================================== 1. libcurl -1.1 Zero-copy interface - - Introduce another callback interface for upload/download that makes one less - copy of data and thus a faster operation. - [http://curl.haxx.se/dev/no_copy_callbacks.txt] - 1.2 More data sharing curl_share_* functions already exist and work, and they can be extended to @@ -144,6 +138,15 @@ we need libssh2 to properly tell us when we pass in a too small buffer and its current API (as of libssh2 1.2.7) doesn't. +1.6 progress callback without doubles + + The progress callback was introduced way back in the days and the choice to + use doubles in the arguments was possibly good at the time. Today the doubles + only confuse users and make the amounts less precise. We should introduce + another progress callback option that take precedence over the old one and + have both co-exist for a forseeable time until we can remove the double-using + one. + 2. libcurl - multi interface 2.1 More non-blocking @@ -170,23 +173,6 @@ internally use and assume the multi interface. The select()-loop should use curl_multi_socket(). -2.3 Avoid having to remove/readd handles - - curl_multi_handle_control() - this can control the easy handle (while) added - to a multi handle in various ways: - - o RESTART, unconditionally restart this easy handle's transfer from the - start, re-init the state - - o RESTART_COMPLETED, restart this easy handle's transfer but only if the - existing transfer has already completed and it is in a "finished state". - - o STOP, just stop this transfer and consider it completed - - o PAUSE? - - o RESUME? - 2.4 Fix HTTP Pipelining for PUT HTTP Pipelining can be a way to greatly enhance performance for multiple @@ -334,12 +320,6 @@ to provide the data to send. Make curl's SSL layer capable of using other free SSL libraries. Such as MatrixSSL (http://www.matrixssl.org/). -7.8 Support SRP on the TLS layer - - Peter Sylvester's patch for SRP on the TLS layer. Awaits OpenSSL support for - this, no need to support this in libcurl before there's an OpenSSL release - that does it. - 7.9 improve configure --with-ssl make the configure --with-ssl option first check for OpenSSL, then GnuTLS, @@ -351,11 +331,6 @@ to provide the data to send. Is this even possible? -8.2 SRP - - Work out a common method with Peter Sylvester's OpenSSL-patch for SRP on the - TLS to provide name and password. GnuTLS already supports it... - 8.3 check connection Add a way to check if the connection seems to be alive, to correspond to the @@ -451,6 +426,13 @@ to provide the data to send. This can be useful to tell when support for a particular feature hasn't been compiled into the library. +11.9 IPv6 addresses with globbing + + Currently the command line client needs to get url globbing disabled (with + -g) for it to support IPv6 numerical addresses. This is a rather silly flaw + that should be corrected. It probably involves a smarter detection of the + '[' and ']' letters. + 12. Build 12.1 roffit @@ -569,3 +551,20 @@ to provide the data to send. The progress callback should then be bumped as well to get proper 64bit variable types passed to it instead of doubles so that big files work correctly. + +15.8 remove 'curl_httppost' from public + + curl_formadd() was made to fill in a public struct, but the fact that the + struct is public is never really used by application for their own advantage + but instead often restricts how the form functions can or can't be modified. + + Changing them to return a private handle will benefit the implementation and + allow us much greater freedoms while still maintining a solid API and ABI. + +15.9 have form functions use CURL handle argument + + curl_formadd() and curl_formget() both currently have no CURL handle + argument, but both can use a callback that is set in the easy handle, and + thus curl_formget() with callback cannot function without first having + curl_easy_perform() (or similar) called - which is hard to grasp and a design + mistake. |