aboutsummaryrefslogtreecommitdiff
path: root/docs/TODO
diff options
context:
space:
mode:
Diffstat (limited to 'docs/TODO')
-rw-r--r--docs/TODO75
1 files changed, 37 insertions, 38 deletions
diff --git a/docs/TODO b/docs/TODO
index c1b7e129c..738f3e2cc 100644
--- a/docs/TODO
+++ b/docs/TODO
@@ -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.