📄 changes
字号:
- Made the libcurl printf code support long longs if available.- Loren Kirkby pointed out that we did not clean up all SSL-allocated memory in curl_global_cleanup().Daniel (17 August)- Setting CURLOPT_WRITEFUNCTION or CURLOPT_READFUNCTION to NULL will now make them get the internal defaults restored. Previously this could cause a segfault. We should aim at having all pointer-related options get restored to default/safe values when set to NULL.Version 7.10.7 (15 August 2003)Daniel (14 August)- I modified the memdebug system to return failure on memory allocation functions after a set amount of successful ones. This enables us to test out-of-memory situations in a controlled manner and we can make sure that curl/libcurl behaves good in those. This made me find and fix several spots where we did not cleanup properly when bailing out due to errors (low memory).- Corrected test case 74. Made using -o with bad #[num] codes complain and bail out. Made #[num] support numbers larger than 9 as well. Added test case 86 for a proper range globbing test as well.Version 7.10.7-pre4 (12 August 2003)Daniel (12 August)- curl_version_info() now returns a flag if libcurl was built with asynch DNS support, and this is now also displayed with 'curl -V'.- Added a few new man pages to the docs/libcurl dir: curl_share_init, curl_share_setopt, curl_share_cleanup, libcurl-easy and libcurl-share.Daniel (11 August)- Mike Cherepov made the local binding code work for Windows, which makes the option CURLOPT_INTERFACE work on Windows as well.- Vincent Sanders updated the fopen.c example code a lot.- --proxy-ntlm is now supported by the curl tool. It forces the proxy authentication to be made using NTLM. It does not yet work for HTTPS over proxies (or other proxy-tunneling options). Test case 81 and 82 do some simple initial ntlm testing.- Found and fixed a minor memory leak on re-used connections with proxy-authentication.- I removed -@ and -Z as valid short options. They were very rarely used (@ wasn't even documented).- Serge Semashko introduced CURLOPT_PROXYAUTH, and make it work when set to CURLAUTH_NTLM and/or CURLAUTH_BASIC. The PROXAUTH is similar to HTTPAUTH, but is for the proxy connection only, and HTTPAUTH is for the remote host.- Fixed loading of cookies with blank contents from a cookie jar. Also made the cookie functions inform on added and skipped cookies (for cookie debugging).Version 7.10.7-pre3 (8 August 2003)Daniel (8 August)- Applied David Byron's fix for file:// URLs with drive letters included.- I added the --ftp-create-dirs to the client code, which activates Early's CURLOPT_FTP_CREATE_MISSING_DIRS option, and wrote test case 147 to verify it. Added the option to the curl.1 man page too. Added the option to the curl_easy_setopt.3 man page too.Daniel (7 August)- Test case 60 failed on ia64 and AMD Opteron. Fixed now.- Fixed a printf problem that resulted in urlglobbing bugs (bug #203827 in the debian bug tracker). Added test case 74 to verify the fix and to discover if this breaks in the future.- "make distcheck" works again.Version 7.10.7-pre2 (6 August 2003)Daniel (5 August)- Duncan Wilcox helped me verify that the latest incarnation of my ares patch builds fine on Mac OS X (see the new lib/README.ares) file for all details.- Salvatore Sorrentino filed bug report #783116 and Early Ehlinger posted a bug report to the libcurl list, both identifying a problem with FTP persitent connections and how the dir hiearchy was not properly reset between files.- David Byron's thoughts on a fixed Makefile in tests/ were applied.- Jan Sundin reported a case where curl ignored a cookie that browsers don't, which turned up to be due to the number of dots in the 'domain'. I've now made curl follow the the original netscape cookie spec less strict on that part.Daniel (4 August)- Dirk Manske added cookie support for the experimental, hidden and still undocumented share feature!- Mark Fletcher provided an excellent bug report that identified a problem with FOLLOWLOCATION and chunked transfer-encoding, as libcurl would not properly ignore the body contents of 3XX response that included the Location: header.Early (6 August)- Added option CURLOPT_FTP_CREATE_MISSING_DIRS This option will force the target file's path to be created if it does not already exist on the remote system. Files affected: - include/curl/curl.h Added option CURLOPT_FTP_CREATE_MISSING_DIRS - lib/ftp.c Added function ftp_mkd, which issues a MKD command Added function ftp_force_cwd, which attempts a CWD, and does a MKD and retries the CWD if the original CWD fails Modified ftp_perform() to call its change directory function through a pointer. The pointer points to ftp_cwd by default, and is modified to point to ftp_force_cwd IFF data->set.ftp_create_missing_dirs is not 0. - lib/url.c Modified Curl_setopt to recognize CURLOPT_FTP_CREATE_MISSING_DIRS - lib/urldata.h Added ftp_create_missing_dirs to struct UserDefined - Minor Bugfix for CURLOPT_TIMECONDITION with FTP - if the file was not present to do the time comparison, it would fail. Files affected: - lib/ftp.c In ftp_perform(), the call to ftp_getfiletime() used to be followed by if (result) return result; And then by the code that actually did the time comparison. The code that did the comparison handled the case where the filetime was not available (as indicated by info.filetime < 0 or set.timevalue < 0), so I replaced the if (result) return result with a switch(result) that allows CURLE_FTP_COULDNT_RETR_FILE to fall through to the normal time comparison.Daniel (3 August)- When proxy authentication is used in a CONNECT request (as used for all SSL connects and otherwise enforced tunnel-thru-proxy requests), the same authentication header is also wrongly sent to the remote host. This is a rather significant info leak. I've fixed it now and mailed a patch and warning to the mailing lists.Daniel (1 August)- David Byron provided a patch to make 7.10.6 build correctly with the compressed hugehelp.c source file.Version 7.10.7-pre1 (31 July 2003)Daniel (30 July)- J鰎g M黮ler-Tolk updated the VC makefile.- Daniel Noguerol made the ftp code output "Accept-Ranges: bytes" in similar style like other faked HTTP headers when NOBODY and HEADER are used. I updated two corresponding test cases too.- Marty Kuhrt pointed out a compilation problem on VMS due to my having changed a type from long to time_t, and I'm now changing it back to work more portably... He also indicated that distributing the src/hugehelp.c in a compressed state like I acccidentally did may not be the smartest move... I've now fixed the distribute procudere to automaticly generate an uncompressed version when I make release archives.Daniel (29 July)- Gisle Vanem brought changes to the mkhelp script for the generation of the compressed help text on some platforms.Version 7.10.6 (28 July 2003)Daniel (28 July)- Fran鏾is Pons brought a patch that once again made curl deal with ftp and "double slash" as indicating the root directory. In the RFC1738-fix of April 30, that ability was removed (since it is not the "right" way). So, starting now we can list the root dir of an ftp server both these ways: curl ftp://server.com/%2f as well as curl ftp://server.com//Daniel (24 July)- Henry Bland pointed out that we included sys/resource.h without good reason in several source files. Without it included, QNX builds better...- Andr閟 Garc韆 updated the mingw makefiles.Daniel (23 July)- Tracy Boehrer experienced DNS cache problems and did some nice debugging and tracking which made it easy for me to correct the problem and Tracy could verify that it did cure the problem! When re-using a connection we now make sure we don't re-use the 'connect_addr' struct.- Daniel Kouril corrected the GSS-Negotiate code.- Juan F. Codagnone provided fixes to allow curl to build fine on Windows again.Daniel (22 July)- Edited the curl/curl.h include file to build on Windows properly.Daniel (21 July)- Moved the proxy credentials from the SessionHandle struct to the connectdata struct, to make multiple proxy connections with differerent user names work.- Adjusted the NTLM code to support proxy functionality.- Made the krb4 stuff compile with the user+password fields moved.Version 7.10.6-pre4 (21 July 2003)Daniel (20 July)- David Gardner pointed out in bug report 770755 that using the FTP command CWD with a blank argument is a bad idea and I made libcurl skip empty path segments starting now.Daniel (18 July)- Cris pointed out that my fix on July 16th didn't work fully. His pointing out this (and his patch) also made me realize that we have a very similar bug in the FTP connection re-use code. We must store a separate user and password field for each connection we keep (at least for FTP and HTTP+NTLM connections, so I made us do this unconditionally).- Since NTLM authenticates connections instead of single requests, I had to re-arrange how we store the NTLM data and I had to improve the test suite to finally work properly with persistancy to make the NTLM tests run fine again. This also forced me to have to update lots of HTTP test cases.Daniel (16 July)- Cris Bailiff's bug report 768275 pointed out that using Basic auth with wrong user+password caused an endless loop. Fixed now. He also found out that we didn't properly authenticate connections with NTLM. Fixed too.- Dan Winship provided fixes for the NTLM code.Daniel (5 July)- Doug Kaufman provided additional fixes for the DOS port.Daniel (4 July)- Rick Richardson pointed out that using setvbuf() to achive non-buffering on output is no-good for SCO Xenix and other unixes. We switched over to using plain fflush() instead.- Dan Grayson pointed out that we set the CURL_CA_BUNDLE variable wrongly in the configure script, and I had to change some build stuff to make the new way work.- Peter Sylvester's patch was applied that introduces the following: CURLOPT_SSL_CTX_FUNCTION to set a callback that gets called with the OpenSSL's ssl_ctx pointer passed in and allow a callback to act on it. If anything but CURLE_OK is returned, that will also be returned by libcurl all the way back. If this function changes the CURLOPT_URL, libcurl will detect this and instead go use the new URL. CURLOPT_SSL_CTX_DATA is a pointer you set to get passed to the callback set with CURLOPT_SSL_CTX_FUNCTION.Daniel (1 July)- David Byron provided a patch that allows a client to quit the test suite's HTTP server.- Gisle Vanem found and patched a lib handle leak in the ldap code.Daniel (25 June)- More NTLM-improvements. Less code. Smaller packets back and forth.Daniel (23 June)- Eric Glass provided us with a better doc on NTLM details, and I added more comments and clarified the current code more. Using the new knowledge, we should be able to make the NTLM stuff work even better. Eric's original URL: http://davenport.sourceforge.net/ntlm.html Version stored and provided at curl site: http://curl.haxx.se/rfc/ntlm.html- Fixed the minor compile problems pre3 had if built without GSSAPI and/or SSL.Version 7.10.6-pre3 (19 June 2003)Daniel (19 June)- Made curl use curl_free() on memory returned by curl_getenv(), as this should theoreticly make it possibly to build and run curl and libcurl with different memory allocation schemes with no problems.Daniel (18 June)- Improved the mkhelp.pl a bit further to make a nicer hugehelp text and to include a better comment in the top for the gzip compressed version.Daniel (17 June)- CURLOPT_HTTPAUTH is now a bitmask, in which you set which authentication type(s) you want to use. If more than one is set, libcurl will use one of the selected one and the one it considers is more secure. Test case 67 and 68 (for NTLM) were fixed and we've reduced a round-trip for specific --ntlm featches, and test case 69 and 70 were added for testing authentication "picking". --anyauth is the new command line tool option, and I also added --basic for completeness (that's the default type).- Fixed the runtests.pl script to use the info provided by the new curl -V output.- --enable-debug now sets the CURLDEBUG define instead of MALLOCDEBUG, as it is meant to be a generic debug conditional.- curl_version_info() can now return CURL_VERSION_DEBUG as a feature bit, to indicate that the library was built with CURLDEBUG set.- Ralph Mitchell found out that some web applications very badly uses white spaces in Location: redirects, and apparently IE is a browser (the only one?) that supports this abomination. Based on Ralph's patch, I added code that now attempts to replace white spaces with the proper "%20" or "+". Test case 40 and 42 were added to verify my changes.- curl -V now also outputs a list of features the available library offers (if any).- The curl_version() string now includes "GSS" if libcurl is built with GSSAPI support.- David Orrell reported that libcurl still crashed when sending HUGE requests over HTTPS... I fixed.Version 7.10.6-pre2 (16 June 2003)Daniel (16 June)- curl_version_info() now returns bitmasked information weather NTLM and GSSNEGOTIATE are supported, since it is doomed to vary on different installatiions.- I remade the HTTP Digest code to use the MD5-code provided by OpenSSL if that is present, and only use our own MD5-code if it isn't.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -