~ubuntu-branches/ubuntu/saucy/curl/saucy-security

« back to all changes in this revision

Viewing changes to docs/TODO

  • Committer: Package Import Robot
  • Author(s): Timo Aaltonen
  • Date: 2011-11-25 17:30:45 UTC
  • mfrom: (3.4.23 sid)
  • Revision ID: package-import@ubuntu.com-20111125173045-2l3ni88jv16kath0
Tags: 7.22.0-3ubuntu1
* Merge from Debian unstable, remaining changes:
  - Drop dependencies not in main:
    + Build-Depends: Drop stunnel4 and libssh2-1-dev.
    + Drop libssh2-1-dev from libcurl4-openssl-dev's Depends.
  - Add new libcurl3-udeb package.

Show diffs side-by-side

added added

removed removed

Lines of Context:
12
12
 All bugs documented in the KNOWN_BUGS document are subject for fixing!
13
13
 
14
14
 1. libcurl
15
 
 1.1 Zero-copy interface
16
15
 1.2 More data sharing
17
16
 1.3 struct lifreq
18
17
 1.4 signal-based resolver timeouts
19
18
 1.5 get rid of PATH_MAX
 
19
 1.6 progress callback without doubles
20
20
 
21
21
 2. libcurl - multi interface
22
22
 2.1 More non-blocking
23
23
 2.2 Remove easy interface internally
24
 
 2.3 Avoid having to remove/readd handles
25
24
 2.4 Fix HTTP Pipelining for PUT
26
25
 
27
26
 3. Documentation
54
53
 7.5 Export session ids
55
54
 7.6 Provide callback for cert verification
56
55
 7.7 Support other SSL libraries
57
 
 7.8  Support SRP on the TLS layer
58
56
 7.9 improve configure --with-ssl
59
57
 
60
58
 8. GnuTLS
61
59
 8.1 SSL engine stuff
62
 
 8.2 SRP
63
60
 8.3 check connection
64
61
 8.4 non-gcrypt
65
62
 
77
74
 11.6 url-specific options
78
75
 11.7 metalink support
79
76
 11.8 warning when setting an option
 
77
 11.9 IPv6 addresses with globbing
80
78
 
81
79
 12. Build
82
80
 12.1 roffit
100
98
 15.5 remove CURLOPT_FAILONERROR
101
99
 15.6 remove CURLOPT_DNS_USE_GLOBAL_CACHE
102
100
 15.7 remove progress meter from libcurl
 
101
 15.8 remove 'curl_httppost' from public
103
102
 
104
103
==============================================================================
105
104
 
106
105
1. libcurl
107
106
 
108
 
1.1 Zero-copy interface
109
 
 
110
 
 Introduce another callback interface for upload/download that makes one less
111
 
 copy of data and thus a faster operation.
112
 
 [http://curl.haxx.se/dev/no_copy_callbacks.txt]
113
 
 
114
107
1.2 More data sharing
115
108
 
116
109
 curl_share_* functions already exist and work, and they can be extended to
144
137
 we need libssh2 to properly tell us when we pass in a too small buffer and
145
138
 its current API (as of libssh2 1.2.7) doesn't.
146
139
 
 
140
1.6 progress callback without doubles
 
141
 
 
142
 The progress callback was introduced way back in the days and the choice to
 
143
 use doubles in the arguments was possibly good at the time. Today the doubles
 
144
 only confuse users and make the amounts less precise. We should introduce
 
145
 another progress callback option that take precedence over the old one and
 
146
 have both co-exist for a forseeable time until we can remove the double-using
 
147
 one.
 
148
 
147
149
2. libcurl - multi interface
148
150
 
149
151
2.1 More non-blocking
170
172
 internally use and assume the multi interface. The select()-loop should use
171
173
 curl_multi_socket().
172
174
 
173
 
2.3 Avoid having to remove/readd handles
174
 
 
175
 
 curl_multi_handle_control() - this can control the easy handle (while) added
176
 
 to a multi handle in various ways:
177
 
 
178
 
 o RESTART, unconditionally restart this easy handle's transfer from the
179
 
   start, re-init the state
180
 
 
181
 
 o RESTART_COMPLETED, restart this easy handle's transfer but only if the
182
 
   existing transfer has already completed and it is in a "finished state".
183
 
 
184
 
 o STOP, just stop this transfer and consider it completed
185
 
 
186
 
 o PAUSE?
187
 
 
188
 
 o RESUME?
189
 
 
190
175
2.4 Fix HTTP Pipelining for PUT
191
176
 
192
177
 HTTP Pipelining can be a way to greatly enhance performance for multiple
334
319
 Make curl's SSL layer capable of using other free SSL libraries.  Such as
335
320
 MatrixSSL (http://www.matrixssl.org/).
336
321
 
337
 
7.8  Support SRP on the TLS layer
338
 
 
339
 
 Peter Sylvester's patch for SRP on the TLS layer.  Awaits OpenSSL support for
340
 
 this, no need to support this in libcurl before there's an OpenSSL release
341
 
 that does it.
342
 
 
343
322
7.9 improve configure --with-ssl
344
323
 
345
324
 make the configure --with-ssl option first check for OpenSSL, then GnuTLS,
351
330
 
352
331
 Is this even possible?
353
332
 
354
 
8.2 SRP
355
 
 
356
 
 Work out a common method with Peter Sylvester's OpenSSL-patch for SRP on the
357
 
 TLS to provide name and password. GnuTLS already supports it...
358
 
 
359
333
8.3 check connection
360
334
 
361
335
 Add a way to check if the connection seems to be alive, to correspond to the
451
425
  This can be useful to tell when support for a particular feature hasn't been
452
426
  compiled into the library.
453
427
 
 
428
11.9 IPv6 addresses with globbing
 
429
 
 
430
  Currently the command line client needs to get url globbing disabled (with
 
431
  -g) for it to support IPv6 numerical addresses. This is a rather silly flaw
 
432
  that should be corrected. It probably involves a smarter detection of the
 
433
  '[' and ']' letters.
 
434
 
454
435
12. Build
455
436
 
456
437
12.1 roffit
569
550
 The progress callback should then be bumped as well to get proper 64bit
570
551
 variable types passed to it instead of doubles so that big files work
571
552
 correctly.
 
553
 
 
554
15.8 remove 'curl_httppost' from public
 
555
 
 
556
 curl_formadd() was made to fill in a public struct, but the fact that the
 
557
 struct is public is never really used by application for their own advantage
 
558
 but instead often restricts how the form functions can or can't be modified.
 
559
 
 
560
 Changing them to return a private handle will benefit the implementation and
 
561
 allow us much greater freedoms while still maintining a solid API and ABI.