From f54a282ccc56ae53afa87c3117dc7923066d5432 Mon Sep 17 00:00:00 2001 From: Daniel Stenberg Date: Thu, 8 Mar 2001 12:32:03 +0000 Subject: persistant adjusts --- docs/TODO | 35 ++++++++++++++++++++--------------- docs/curl_easy_setopt.3 | 23 ++++++++++++++++------- 2 files changed, 36 insertions(+), 22 deletions(-) (limited to 'docs') 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 -- cgit v1.2.3