summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDaniel Stenberg <daniel@haxx.se>2001-03-08 12:32:03 +0000
committerDaniel Stenberg <daniel@haxx.se>2001-03-08 12:32:03 +0000
commitf54a282ccc56ae53afa87c3117dc7923066d5432 (patch)
treeeaed9510f2ecfa098184b85b61c2e125c1ad6100
parent2a11bdc2164abdc2300614bf50fa6130c2a92f6a (diff)
downloadgnurl-f54a282ccc56ae53afa87c3117dc7923066d5432.tar.gz
gnurl-f54a282ccc56ae53afa87c3117dc7923066d5432.tar.bz2
gnurl-f54a282ccc56ae53afa87c3117dc7923066d5432.zip
persistant adjusts
-rw-r--r--CHANGES4
-rw-r--r--docs/TODO35
-rw-r--r--docs/curl_easy_setopt.323
3 files changed, 40 insertions, 22 deletions
diff --git a/CHANGES b/CHANGES
index a42b0b0c7..3a34c4091 100644
--- a/CHANGES
+++ b/CHANGES
@@ -7,6 +7,10 @@
History of Changes
+Daniel (8 March 2001)
+- "Transfer-Encoding: chunked" is no longer any trouble for libcurl. I've
+ added two source files and I've run some test downloads that look fine.
+
Daniel (5 March 2001)
- The current 57 test cases now pass OK. It would suggest that libcurl works
using the old-style with one connection per handle. The test suite doesn't
diff --git a/docs/TODO b/docs/TODO
index ceb25e2a4..6d47fa4ad 100644
--- a/docs/TODO
+++ b/docs/TODO
@@ -6,12 +6,10 @@
TODO
- Ok, this is what I wanna do with Curl. Please tell me what you think, and
- please don't hesitate to contribute and send me patches that improve this
- product! (Yes, you may add things not mentioned here, these are just a
- few teasers...)
+ Things to do in project cURL. Please tell me what you think, contribute and
+ send me patches that improve things!
-To be done for the 7.7 release:
+To do for the 7.7 release:
* Fix the random seeding. Add --egd-socket and --random-file options to the
curl client and libcurl curl_easy_setopt() interface.
@@ -20,11 +18,17 @@ To be done for the 7.7 release:
* Add a special connection-timeout that only goes for the connection phase.
-To be done after the 7.7 release:
+To do for the 7.8 release:
* Make SSL session ids get used if multiple HTTPS documents from the same
host is requested.
+To do in a future release:
+
+ * Extend the test suite to include telnet and https. The telnet could just do
+ ftp or http operations (for which we have test servers) and the https would
+ probably work against/with some of the openssl tools.
+
* Add a command line option that allows the output file to get the same time
stamp as the remote file. libcurl already is capable of fetching the remote
file's date.
@@ -36,6 +40,8 @@ To be done after the 7.7 release:
* Add asynchronous name resolving, as this enables full timeout support for
fork() systems.
+ * Non-blocking connect(), also to make timeouts work on windows.
+
* Move non-URL related functions that are used by both the lib and the curl
application to a separate "portability lib".
@@ -43,13 +49,13 @@ To be done after the 7.7 release:
something being worked on in this area) and perl (we have seen the first
versions of this!) comes to mind. Python anyone?
- * "Content-Encoding: compress/gzip/zlib"
- HTTP 1.1 clearly defines how to get and decode compressed documents. There
- is the zlib that is pretty good at decompressing stuff. This work was
- started in October 1999 but halted again since it proved more work than we
- thought. It is still a good idea to implement though.
+ * "Content-Encoding: compress/gzip/zlib" HTTP 1.1 clearly defines how to get
+ and decode compressed documents. There is the zlib that is pretty good at
+ decompressing stuff. This work was started in October 1999 but halted again
+ since it proved more work than we thought. It is still a good idea to
+ implement though.
- * Authentication: NTLM. It would be to support that MS crap called NTLM
+ * Authentication: NTLM. Support for that MS crap called NTLM
authentication. MS proxies and servers sometime require that. Since that
protocol is a proprietary one, it involves reverse engineering and network
sniffing. This should however be a library-based functionality. There are a
@@ -61,10 +67,9 @@ To be done after the 7.7 release:
* RFC2617 compliance, "Digest Access Authentication"
A valid test page seem to exist at:
- http://hopf.math.nwu.edu/testpage/digest/
+ http://hopf.math.nwu.edu/testpage/digest/
And some friendly person's server source code is available at
- http://hopf.math.nwu.edu/digestauth/index.html
-
+ http://hopf.math.nwu.edu/digestauth/index.html
Then there's the Apache mod_digest source code too of course. It seems as
if Netscape doesn't support this, and not many servers do. Although this is
a lot better authentication method than the more common "Basic". Basic
diff --git a/docs/curl_easy_setopt.3 b/docs/curl_easy_setopt.3
index 80a8ae6ae..23cd0b415 100644
--- a/docs/curl_easy_setopt.3
+++ b/docs/curl_easy_setopt.3
@@ -2,7 +2,7 @@
.\" nroff -man [file]
.\" Written by daniel@haxx.se
.\"
-.TH curl_easy_setopt 3 "5 March 2001" "libcurl 7.5" "libcurl Manual"
+.TH curl_easy_setopt 3 "6 March 2001" "libcurl 7.5" "libcurl Manual"
.SH NAME
curl_easy_setopt - Set curl easy-session options
.SH SYNOPSIS
@@ -22,6 +22,10 @@ this manual carefully as bad input values may cause libcurl to behave badly!
You can only set one option in each function call. A typical application uses
many curl_easy_setopt() calls in the setup phase.
+NOTE: strings passed to libcurl as 'char *' arguments, will not be copied by
+the library. Instead you should keep them available until libcurl no longer
+needs them. Failing to do so will cause very odd behaviour or even crashes.
+
The
.I "handle"
is the return code from the
@@ -86,14 +90,16 @@ libcurl what the expected size of the infile is.
.TP
.B CURLOPT_URL
The actual URL to deal with. The parameter should be a char * to a zero
-terminated string. NOTE: this option is currently required!
+terminated string. The string must remain present until curl no longer needs
+it, as it doesn't copy the string. NOTE: this option is required to be set
+before curl_easy_perform() is called.
.TP
.B CURLOPT_PROXY
If you need libcurl to use a http proxy to access the outside world, set the
proxy string with this option. The parameter should be a char * to a zero
-terminated string. To specify port number in this string, append":[port]" to
+terminated string. To specify port number in this string, append :[port] to
the end of the host name. The proxy string may be prefixed with
-"[protocol]://" since any such prefix will be ignored.
+[protocol]:// since any such prefix will be ignored.
.TP
.B CURLOPT_PROXYPORT
Set this long with this option to set the proxy port to use unless it is
@@ -189,9 +195,11 @@ prompted for it.
.TP
.B CURLOPT_RANGE
Pass a char * as parameter, which should contain the specified range you
-want. It should be in the format "X-Y", where X or Y may be left out. The HTTP
+want. It should be in the format "X-Y", where X or Y may be left out. HTTP
transfers also support several intervals, separated with commas as in
-.I "X-Y,N-M".
+.I "X-Y,N-M"
+. Using this kind of multiple intervals will cause the HTTP server to send the
+response document in pieces.
.TP
.B CURLOPT_ERRORBUFFER
Pass a char * to a buffer that the libcurl may store human readable error
@@ -202,7 +210,8 @@ library. The buffer must be at least CURL_ERROR_SIZE big.
Pass a long as parameter containing the maximum time in seconds that you allow
the libcurl transfer operation to take. Do note that normally, name lookups
maky take a considerable time and that limiting the operation to less than a
-few minutes risk aborting perfectly normal operations.
+few minutes risk aborting perfectly normal operations. This option will cause
+curl to use the SIGALRM to enable timeouting system calls.
.TP
.B CURLOPT_POSTFIELDS
Pass a char * as parameter, which should be the full data to post in a HTTP