Loading CHANGES +4 −0 Original line number Diff line number Diff line Loading @@ -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 Loading docs/TODO +20 −15 Original line number Diff line number Diff line Loading @@ -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. Loading @@ -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. Loading @@ -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". Loading @@ -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 Loading @@ -64,7 +70,6 @@ To be done after the 7.7 release: 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 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 Loading docs/curl_easy_setopt.3 +16 −7 Original line number Diff line number Diff line Loading @@ -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 Loading @@ -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 Loading Loading @@ -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 Loading Loading @@ -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 Loading @@ -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 Loading Loading
CHANGES +4 −0 Original line number Diff line number Diff line Loading @@ -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 Loading
docs/TODO +20 −15 Original line number Diff line number Diff line Loading @@ -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. Loading @@ -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. Loading @@ -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". Loading @@ -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 Loading @@ -64,7 +70,6 @@ To be done after the 7.7 release: 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 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 Loading
docs/curl_easy_setopt.3 +16 −7 Original line number Diff line number Diff line Loading @@ -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 Loading @@ -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 Loading Loading @@ -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 Loading Loading @@ -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 Loading @@ -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 Loading