Loading CHANGES +48 −0 Original line number Diff line number Diff line Loading @@ -6,6 +6,54 @@ History of Changes ** curl 7.7 DOES NOT currently WORK. ** Daniel (20 February 2001) - Added the docs/examples/win32sockets.c file for our windows friends. - Linus Nielsen Feltzing provided brand new TELNET functionality and improvements: * Negotiation is now passive. Curl does not negotiate until the peer does. * Possibility to set negotiation options on the command line, currently only XDISPLOC, TTYPE and NEW_ENVIRON (called NEW_ENV). * Now sends the USER environment variable if the -u switch is used. * Use -t to set telnet options (Linus even updated the man page, awesome!) - Haven't done this big changes to curl for a while. Moved around a lot of struct fields and stuff to make multiple connections get connection specific data in separate structs so that they can co-exist in a nice way. See the mailing lists for discussions around how this is gonna be implemented. Docs and more will follow. Studied the HTTP RFC to find out better how persistant connections should work. Seems cool enough. Daniel (19 February 2001) - Bob Schader brought me two files that help set up a MS VC++ libcurl project easier. He also provided me with an up-to-date libcurl.def file. - I moved a bunch of prototypes from the public <curl/curl.h> file to the library private urldata.h. This is because of the upcoming changes. The low level interface is no longer being planned to become reality. Daniel (15 February 2001) - CURLOPT_POST is not required anymore. Just setting the POST string with CURLOPT_POSTFIELDS will switch on the HTTP POST. Most other things in libcurl already works this way, i.e they require only the parameter to switch on a feature so I think this works well with the rest. Setting a NULL string switches off the POST again. - Excellent suggestions from Rich Gray, Rick Jones, Johan Nilsson and Bjorn Reese helped me define a way how to incorporate persistant connections into libcurl in a very smooth way. If done right, no change may have to be made to older programs and they will just start using persistant connections when applicable! Daniel (13 February 2001) - Changed the word 'timeouted' to 'timed out' in two different error messages. Suggested by Larry Fahnoe. Version 7.6.1 Daniel (9 February 2001) Loading docs/FEATURES +2 −1 Original line number Diff line number Diff line Loading @@ -20,6 +20,7 @@ Misc - compiles on win32 - redirectable stderr - use selected network interface for outgoing traffic - IPv6 support HTTP - GET Loading @@ -28,7 +29,7 @@ HTTP - POST - multipart POST - authentication - resume - resume (both GET and PUT) - follow redirects - maximum amount of redirects to follow - custom HTTP request Loading docs/curl.1 +9 −6 Original line number Diff line number Diff line Loading @@ -425,11 +425,14 @@ If this option is used twice, the second will again disable mute. When used with -s it makes curl show error message if it fails. If this option is used twice, the second will again disable show error. .IP "-t/--upload" .B Deprecated. Use '-T -' instead. Transfer the stdin data to the specified file. Curl will read everything from stdin until EOF and store with the supplied name. If this is used on a http(s) server, the PUT command will be used. .IP "-t/--telnet-option <OPT=val>" Pass options to the telnet protocol. Supported options are: TTYPE=<term> Sets the terminal type. XDISPLOC=<X display> Sets the X display location. NEW_ENV=<var,val> Sets an environment variable. .IP "-T/--upload-file <file>" Like -t, but this transfers the specified local file. If there is no file part in the specified URL, Curl will append the local file Loading Loading @@ -758,7 +761,7 @@ If you do find bugs, mail them to curl-bug@haxx.se. - Lars J. Aas <larsa@sim.no> - Jörn Hartroth <Joern.Hartroth@computer.org> - Matthew Clarke <clamat@van.maves.ca> - Linus Nielsen <Linus.Nielsen@haxx.se> - Linus Nielsen Feltzing <linus@haxx.se> - Felix von Leitner <felix@convergence.de> - Dan Zitter <dzitter@zitter.net> - Jongki Suwandi <Jongki.Suwandi@eng.sun.com> Loading include/curl/curl.h +22 −2 Original line number Diff line number Diff line Loading @@ -158,6 +158,9 @@ typedef enum { CURLE_BAD_PASSWORD_ENTERED, /* when the my_getpass() returns fail */ CURLE_TOO_MANY_REDIRECTS , /* catch endless re-direct loops */ CURLE_UNKNOWN_TELNET_OPTION , /* User specified an unknown option */ CURLE_TELNET_OPTION_SYNTAX , /* Malformed telnet option */ CURL_LAST } CURLcode; Loading Loading @@ -406,6 +409,9 @@ typedef enum { document! Pass a NULL to shut it off. */ CINIT(FILETIME, OBJECTPOINT, 69), /* This points to a linked list of telnet options */ CINIT(TELNETOPTIONS, OBJECTPOINT, 70), CURLOPT_LASTENTRY /* the last unusued */ } CURLoption; Loading Loading @@ -452,8 +458,8 @@ char *curl_getenv(char *variable); char *curl_version(void); /* This is the version number */ #define LIBCURL_VERSION "7.6.1" #define LIBCURL_VERSION_NUM 0x070601 #define LIBCURL_VERSION "7.7-alpha1" #define LIBCURL_VERSION_NUM 0x070000 /* linked-list structure for the CURLOPT_QUOTE option (and other) */ struct curl_slist { Loading Loading @@ -520,6 +526,20 @@ typedef enum { */ CURLcode curl_getinfo(CURL *curl, CURLINFO info, ...); typedef enum { CURLCLOSEPOLICY_NONE, /* first, never use this */ CURLCLOSEPOLICY_OLDEST, CURLCLOSEPOLICY_LEAST_RECENTLY_USED, CURLCLOSEPOLICY_LEAST_TRAFFIC, CURLCLOSEPOLICY_SLOWEST, CURLCLOSEPOLICY_CALLBACK, CURLCLOSEPOLICY_LAST /* last, never use this */ } curl_closepolicy; #ifdef __cplusplus } #endif Loading lib/dict.c +6 −6 Original line number Diff line number Diff line Loading @@ -141,7 +141,7 @@ CURLcode Curl_dict(struct connectdata *conn) nth = atoi(nthdef); } Curl_sendf(data->firstsocket, conn, Curl_sendf(conn->firstsocket, conn, "CLIENT " LIBCURL_NAME " " LIBCURL_VERSION "\n" "MATCH " "%s " /* database */ Loading @@ -154,7 +154,7 @@ CURLcode Curl_dict(struct connectdata *conn) word ); result = Curl_Transfer(conn, data->firstsocket, -1, FALSE, bytecount, result = Curl_Transfer(conn, conn->firstsocket, -1, FALSE, bytecount, -1, NULL); /* no upload */ if(result) Loading Loading @@ -191,7 +191,7 @@ CURLcode Curl_dict(struct connectdata *conn) nth = atoi(nthdef); } Curl_sendf(data->firstsocket, conn, Curl_sendf(conn->firstsocket, conn, "CLIENT " LIBCURL_NAME " " LIBCURL_VERSION "\n" "DEFINE " "%s " /* database */ Loading @@ -202,7 +202,7 @@ CURLcode Curl_dict(struct connectdata *conn) word ); result = Curl_Transfer(conn, data->firstsocket, -1, FALSE, bytecount, result = Curl_Transfer(conn, conn->firstsocket, -1, FALSE, bytecount, -1, NULL); /* no upload */ if(result) Loading @@ -220,13 +220,13 @@ CURLcode Curl_dict(struct connectdata *conn) if (ppath[i] == ':') ppath[i] = ' '; } Curl_sendf(data->firstsocket, conn, Curl_sendf(conn->firstsocket, conn, "CLIENT " LIBCURL_NAME " " LIBCURL_VERSION "\n" "%s\n" "QUIT\n", ppath); result = Curl_Transfer(conn, data->firstsocket, -1, FALSE, bytecount, result = Curl_Transfer(conn, conn->firstsocket, -1, FALSE, bytecount, -1, NULL); if(result) Loading Loading
CHANGES +48 −0 Original line number Diff line number Diff line Loading @@ -6,6 +6,54 @@ History of Changes ** curl 7.7 DOES NOT currently WORK. ** Daniel (20 February 2001) - Added the docs/examples/win32sockets.c file for our windows friends. - Linus Nielsen Feltzing provided brand new TELNET functionality and improvements: * Negotiation is now passive. Curl does not negotiate until the peer does. * Possibility to set negotiation options on the command line, currently only XDISPLOC, TTYPE and NEW_ENVIRON (called NEW_ENV). * Now sends the USER environment variable if the -u switch is used. * Use -t to set telnet options (Linus even updated the man page, awesome!) - Haven't done this big changes to curl for a while. Moved around a lot of struct fields and stuff to make multiple connections get connection specific data in separate structs so that they can co-exist in a nice way. See the mailing lists for discussions around how this is gonna be implemented. Docs and more will follow. Studied the HTTP RFC to find out better how persistant connections should work. Seems cool enough. Daniel (19 February 2001) - Bob Schader brought me two files that help set up a MS VC++ libcurl project easier. He also provided me with an up-to-date libcurl.def file. - I moved a bunch of prototypes from the public <curl/curl.h> file to the library private urldata.h. This is because of the upcoming changes. The low level interface is no longer being planned to become reality. Daniel (15 February 2001) - CURLOPT_POST is not required anymore. Just setting the POST string with CURLOPT_POSTFIELDS will switch on the HTTP POST. Most other things in libcurl already works this way, i.e they require only the parameter to switch on a feature so I think this works well with the rest. Setting a NULL string switches off the POST again. - Excellent suggestions from Rich Gray, Rick Jones, Johan Nilsson and Bjorn Reese helped me define a way how to incorporate persistant connections into libcurl in a very smooth way. If done right, no change may have to be made to older programs and they will just start using persistant connections when applicable! Daniel (13 February 2001) - Changed the word 'timeouted' to 'timed out' in two different error messages. Suggested by Larry Fahnoe. Version 7.6.1 Daniel (9 February 2001) Loading
docs/FEATURES +2 −1 Original line number Diff line number Diff line Loading @@ -20,6 +20,7 @@ Misc - compiles on win32 - redirectable stderr - use selected network interface for outgoing traffic - IPv6 support HTTP - GET Loading @@ -28,7 +29,7 @@ HTTP - POST - multipart POST - authentication - resume - resume (both GET and PUT) - follow redirects - maximum amount of redirects to follow - custom HTTP request Loading
docs/curl.1 +9 −6 Original line number Diff line number Diff line Loading @@ -425,11 +425,14 @@ If this option is used twice, the second will again disable mute. When used with -s it makes curl show error message if it fails. If this option is used twice, the second will again disable show error. .IP "-t/--upload" .B Deprecated. Use '-T -' instead. Transfer the stdin data to the specified file. Curl will read everything from stdin until EOF and store with the supplied name. If this is used on a http(s) server, the PUT command will be used. .IP "-t/--telnet-option <OPT=val>" Pass options to the telnet protocol. Supported options are: TTYPE=<term> Sets the terminal type. XDISPLOC=<X display> Sets the X display location. NEW_ENV=<var,val> Sets an environment variable. .IP "-T/--upload-file <file>" Like -t, but this transfers the specified local file. If there is no file part in the specified URL, Curl will append the local file Loading Loading @@ -758,7 +761,7 @@ If you do find bugs, mail them to curl-bug@haxx.se. - Lars J. Aas <larsa@sim.no> - Jörn Hartroth <Joern.Hartroth@computer.org> - Matthew Clarke <clamat@van.maves.ca> - Linus Nielsen <Linus.Nielsen@haxx.se> - Linus Nielsen Feltzing <linus@haxx.se> - Felix von Leitner <felix@convergence.de> - Dan Zitter <dzitter@zitter.net> - Jongki Suwandi <Jongki.Suwandi@eng.sun.com> Loading
include/curl/curl.h +22 −2 Original line number Diff line number Diff line Loading @@ -158,6 +158,9 @@ typedef enum { CURLE_BAD_PASSWORD_ENTERED, /* when the my_getpass() returns fail */ CURLE_TOO_MANY_REDIRECTS , /* catch endless re-direct loops */ CURLE_UNKNOWN_TELNET_OPTION , /* User specified an unknown option */ CURLE_TELNET_OPTION_SYNTAX , /* Malformed telnet option */ CURL_LAST } CURLcode; Loading Loading @@ -406,6 +409,9 @@ typedef enum { document! Pass a NULL to shut it off. */ CINIT(FILETIME, OBJECTPOINT, 69), /* This points to a linked list of telnet options */ CINIT(TELNETOPTIONS, OBJECTPOINT, 70), CURLOPT_LASTENTRY /* the last unusued */ } CURLoption; Loading Loading @@ -452,8 +458,8 @@ char *curl_getenv(char *variable); char *curl_version(void); /* This is the version number */ #define LIBCURL_VERSION "7.6.1" #define LIBCURL_VERSION_NUM 0x070601 #define LIBCURL_VERSION "7.7-alpha1" #define LIBCURL_VERSION_NUM 0x070000 /* linked-list structure for the CURLOPT_QUOTE option (and other) */ struct curl_slist { Loading Loading @@ -520,6 +526,20 @@ typedef enum { */ CURLcode curl_getinfo(CURL *curl, CURLINFO info, ...); typedef enum { CURLCLOSEPOLICY_NONE, /* first, never use this */ CURLCLOSEPOLICY_OLDEST, CURLCLOSEPOLICY_LEAST_RECENTLY_USED, CURLCLOSEPOLICY_LEAST_TRAFFIC, CURLCLOSEPOLICY_SLOWEST, CURLCLOSEPOLICY_CALLBACK, CURLCLOSEPOLICY_LAST /* last, never use this */ } curl_closepolicy; #ifdef __cplusplus } #endif Loading
lib/dict.c +6 −6 Original line number Diff line number Diff line Loading @@ -141,7 +141,7 @@ CURLcode Curl_dict(struct connectdata *conn) nth = atoi(nthdef); } Curl_sendf(data->firstsocket, conn, Curl_sendf(conn->firstsocket, conn, "CLIENT " LIBCURL_NAME " " LIBCURL_VERSION "\n" "MATCH " "%s " /* database */ Loading @@ -154,7 +154,7 @@ CURLcode Curl_dict(struct connectdata *conn) word ); result = Curl_Transfer(conn, data->firstsocket, -1, FALSE, bytecount, result = Curl_Transfer(conn, conn->firstsocket, -1, FALSE, bytecount, -1, NULL); /* no upload */ if(result) Loading Loading @@ -191,7 +191,7 @@ CURLcode Curl_dict(struct connectdata *conn) nth = atoi(nthdef); } Curl_sendf(data->firstsocket, conn, Curl_sendf(conn->firstsocket, conn, "CLIENT " LIBCURL_NAME " " LIBCURL_VERSION "\n" "DEFINE " "%s " /* database */ Loading @@ -202,7 +202,7 @@ CURLcode Curl_dict(struct connectdata *conn) word ); result = Curl_Transfer(conn, data->firstsocket, -1, FALSE, bytecount, result = Curl_Transfer(conn, conn->firstsocket, -1, FALSE, bytecount, -1, NULL); /* no upload */ if(result) Loading @@ -220,13 +220,13 @@ CURLcode Curl_dict(struct connectdata *conn) if (ppath[i] == ':') ppath[i] = ' '; } Curl_sendf(data->firstsocket, conn, Curl_sendf(conn->firstsocket, conn, "CLIENT " LIBCURL_NAME " " LIBCURL_VERSION "\n" "%s\n" "QUIT\n", ppath); result = Curl_Transfer(conn, data->firstsocket, -1, FALSE, bytecount, result = Curl_Transfer(conn, conn->firstsocket, -1, FALSE, bytecount, -1, NULL); if(result) Loading