📄 changes
字号:
_ _ ____ _ ___| | | | _ \| | / __| | | | |_) | | | (__| |_| | _ <| |___ \___|\___/|_| \_\_____| ChangelogVersion 7.10.8 (1 November 2003)Daniel (31 October)- Assume that MDTM on an FTP server returns the timestamp using the UTC time zone. This changes the time CURLINFO_FILETIME returns for a given file over FTP, and will change existing uses of CURLOPT_TIMECONDITION. It will make the functionality more similar to how the HTTP one is already working.- Command line options that take numerical parameters (such as -y, -Y, -C etc) now report error and exit if the parameter isn't truly a number greater than or equal to zero. This helps users to notice bad usage earlier. Before, when a user forgot or missed to add a numerical parameter to an option, the command line parser would simply "eat" the following option and it would cause great confusion.Daniel (30 October)- David Hull made libcurl deal with NOBODY and HEADER for file:// the same way it already does for FTP: it provides HTTP-looking headers that provide info only about the file, without doing the actual transfer. The curl tool then lets --head do this.Daniel (29 October)- runtests.pl now checks for and use valgrind if present. It will redirect the valgrind results in log/valgrind[num] but it currently doesn't scan that file for any errors or anything, that is still only made manually.- David Hull made the file: URL parser also accept the somewhat sloppy file syntax: file:/path. I added test case 203 to verify this.Daniel (28 October)- Dan C tracked down yet another weird behavior in the glibc gethostbyname_r() function for some specific versions (reported on 2.2.5 and 2.1.1), and provided a fix. On Linux machines with these glibc versioins, non-ipv6 builds of libcurl would often fail to resolve perfectly resolvable host names.Daniel (26 October)- James Bursa found out that curl_msnprintf() could write the trailing zero-byte outside its given buffer size. This could happen if you generated a very long error message as then libcurl would overwrite the ERRORBUFFER with one byte. Using a non-existing very long local file:// name is one case that could make this occur.Daniel (24 October)- David Hull filed bug report #829827. It identified a problem with -C - if the full file already was downloaded and thus the server responded with a 416. libcurl would then wrongly use the Content-Length: header and expect that size to get transfer, causing a "hang" until the server closed the connection and then an error 18 ("still N bytes data left of the transfer"). Now we don't return any error at all, but I think libcurl should perhaps return some kind of info since the requested range was out of the size of the document.- Based on David Hull's fix in bug report #804599, we now check for solaris and gcc in configure and set the -mimpure-text link flag for linking the lib better.- I've introduced a -t option to the runtests.pl script. With that option set, the script runs special "memory torture" tests. For each test command line in that section, the script first runs the command line and counts the total amount of allocations made. It then runs the exact same command line again, forcing allocation number N to fail. It will try every N from 1 to the total number of amounts made. For every invoke, it checks that no memory was leaked as that would indicate a bad cleanup somewhere in the code. This is just beginning to work, and I've already made some corrections in libcurl code. When this code works somewhat fine, I'll make sure 'make test' in the root dir will run these tests as well.Daniel (23 October)- Georg Horn fixed how the CA verification is made. Verifications can now be made while at the same time the result of it can be ignored. This also affects the curl tool as -k can now be used together with --cacert or --capath.Daniel (22 October)- Gisle Vanem found out --disable-eprt didn't work and patched it.- Test case 91 was modified and could now repeat the problem Kevin Roth has reported, and the bug was fixed.- Dylan Ellicott added vc-libcurl-ssl-dll as a target to the root makefile to build a static libcurl that links with a shared OpenSSL using MSVC.Daniel (21 October)- Andr閟 Garc韆 updated the mingw32 makefiles.Version 7.10.8-pre5 (21 October 2003)Daniel (19 October)- Georg Horn made libcurl output more info on SSL failures when receiving data.Version 7.10.8-pre4 (18 October 2003)Daniel (17 October)- Dominick Meglio implemented CURLOPT_MAXFILESIZE and --max-filesize.- Made libcurl show verbose info about what auth type and user name that is being sent in its HTTP request-headers.Daniel (16 October)- Removed support for CURLOPT_PASSWDFUNCTION and CURLOPT_PASSWDDATA. libcurl no longer prompt for passwords under any circumstances. Password prompting was instead moved to curl, which now prompts for password if -u or -U lack it. This solves the problem Kevin Roth reported when curl prompted for password twice when doing NTLM authentication.- I rewrote the SSL subjectAltName check to avoid having to rely on OpenLDAP- licensed derivate code.Daniel (15 October)- Avoid doing getsockopt() on Windows to verify connects. It seems that this hogs Windows machines when libcurl is being used multi-threaded (with > ~50 threads). Andrew Fuller helped us verify and test this.Daniel (14 October)- Kimmo Kinnunen fixed a crash with duphandle() when CURLDEBUG is set.- Gisle Vanem made libcurl build and work with IPv6 on Windows.Daniel (13 October)- Giuseppe Attardi reported yet another segfault with ares and the multi interface. Me fixed.- Domenico Andreoli removed the extra LDFLAGS assignment in lib/Makefile.am that was reported about in the debian bug report #212086. Domenico also fixed two makefiles where we used 'gnroff' instead of the more portable $(NROFF).Daniel (12 October)- Dirk Manske made the share locking around DNS lookups slightly different to allow the share system's DNS lookups to run somewhat more independent/faster.Daniel (9 October)- Lachlan O'Dea fixed a resume problem: "If I set CURLOPT_RESUME_FROM, perform an HTTP download, then reset CURLOPT_RESUME_FROM to 0, the next download still has a Range header with a garbage value." bug report #820502- Dominick Meglio made the inet_pton.c file build fine using MSVC.- The 'sws' test suite web server now #include setup.h from the lib directory. This makes it more portable easier.Version 7.10.8-pre3 (8 October 2003)Daniel (8 October)- Frank Ticheler provided a patch that fixes how libcurl connects to multiple addresses, if one of them fails (ipv4-code).Daniel (7 October)- Neil Dunbar provided a patch that now makes libcurl check SSL subjectAltNames when matching certs. This is apparently detailed in RFC2818 as the right thing to do. I had to add configure checks for inet_pton() and our own (strictly speaking, code from BIND written by Paul Vixie) provided code for the function for platforms that miss it.- HTTP POST using the read callback didn't work, as Florian Schoppmann reported.Daniel (5 October)- Shared provided a few fixes to make libcurl build on BeOS out-of-the-box. New code for BeOS-style non-blocking sockets, provided by Shard and Jeremy Friesner. Modified the autoconf check for non-blocking sockets to check for this kind too.Daniel (4 October)- Vincent Bronner pointed out that if you set CURLOPT_COOKIE for a transfer and then set it to NULL in a subsequent one, the previous cookie was still sent off!- Jon Turner fixed a problem libcurl had when it failed on an FTP transfer due to a bad path, it would cause the next transfer to use a bad path as well.- Siddhartha Prakash Jain provided a patch with a fix for libcurl with ares, when working on IP-only names as we then could return "wait" status when the name in fact already was resolved. I edited the patch slightly to not expose async details to non-ares aware source code.Daniel (3 October)- Neil Spring posted the debian bug report #213180, and pointed out that using the name 'access' in a function prototype is not very wise as some compilers complain.- Peter Sylvester provided his and Jean-Paul Merlin's curlx.c example source code that shows how they use ssl and callbacks.Daniel (2 October)- James MacMillan's patch makes curl build on QNX 6.2.x.Daniel (26 September)- My daughter was born!Daniel (23 September)- Added support for -4/--ipv4 and -6/--ipv6 to force names to resolve to that particular IP version. They only work for IPv6-enabled libcurls.- curl -V now outputs 'SPNEGO' as a feature in case libcurl was built to support that.Version 7.10.8-pre2 (22 September 2003)Daniel (22 September)- Giuseppe Attardi found a segfault in libcurl when using the multi interface with ares and doing repeated operations against a non-resolving host name.Daniel (19 September)- Added the CURLOPT_IPRESOLVE option, that allows an application to select what kind of IP addresses he wants to use when resolving host names. This is only interesting when using host names that resolve addresses using more than one version of IP.- Applied Markus Moeller's patch that introduces SPNEGO support if libcurl is built with the FBopenssl libraries. curl_version_info() now returns info on SPNEGO availability. The patch also made the GSSAPI stuff work fine with the MIT GSS-library (the Heimdal one still works too).Daniel (16 September)- Doing PUT with --digest failed, as reported in bug report #805853.- Using --anyauth that picked NTLM, and then a redirect closed the connection and took curl to a second NTLM page made curl fail. Bug report #806328 identified the problem, test case 90 was added to verify the fix.Daniel (14 September)- codemastr brought a patch for ares to make the Windows portions of it work properly on NT4. I uploaded a new diff and updated the docs on where to get it etc.- Jeff Pohlmeyer tracked down a very hard-to-find bug where we removed a cached DNS entry even though it may be in use, which caused "random" memory to get overwritten and thus "random" crashes.Daniel (12 September)- Based on a bug report by David Kimdon, I made the runtests.pl script clear all possible proxy environment variables before the tests are run.- By default, easy handles within a multi handle now share DNS cache.- Tim Bartley brought a patch that makes the GSSNEGOTIATE option work for Microsoft's "Negotiate" authentication as well.Daniel (11 September)- A zero-length proxy string confused FTP transfers.- Bjorn Reese found a case with an uninitialized pointer, only present when built for ares.Version 7.10.8-pre1 (8 September 2003)Daniel (7 September)- Jurij Smakov found out that the non-OpenSSL MD5 code was not working on Alpha (or ia64). Only the OpenSSL-version did. I made a fix I think corrects the problem. Daniel (5 September)- Kevin Fisk reported that configure --enable-thread didn't work. I fixed.- De-macrofied the lib/hash.c source code somewhat.Daniel (4 September)- CURLINFO_HTTPAUTH_AVAIL and CURLINFO_PROXYAUTH_AVAIL added, Based on Joerg Mueller-Tolk's patch,Early (4 September)- Added CURLOPT_FTP_RESPONSE_TIMEOUT - allows user to set strict timeout requirements on the FTP server's ability to respond to individual commands without placing global requirements on transfer or connect time. Files affected: - include/curl/curl.h Added option CURLOPT_FTP_RESPONSE_TIMEOUT - lib/ftp.c Added branch inside Curl_GetFTPResponse to check for data->set.ftp_response_timeout - lib/url.c Modified Curl_setopt to recognize CURLOPT_FTP_RESPONSE_TIMEOUT - lib/urldata.h Added ftp_response_timeout to struct UserDefinedDaniel (3 September)- Peter Pentchev found and fixed two problems in the test suite's web server code, that made it segfault at times.- J鰎g Mueller-Tolk improved the proxy user+password handling, especially when providing a blank password.Daniel (2 September)- Fix for making CONNECT to proxies do the correct magic to allow NTLM, Digest and similar to work.Daniel (1 September)- Henrik Storner made libcurl work fine with OpenLDAP 2.1.22 (current).- Jeff Pohlmeyer added a proper error message for non-resolving hosts when using ares for lookups.Daniel (25 August)- John McGowan reported that curl -k still failed if the HTTPS server's CN field wasn't obtainable. This was due to the CURLOPT_SSL_VERIFYHOST being set to 1, and libcurl failed if the CN was missing. Starting now, having it set to 1 will simply output a warning if no CN could be obtained (as having a mismatch is OK).Daniel (21 August)- Vincent Sanders provided a fix for name resolving when linked with uClibc.Daniel (20 August)- Gerd v. Egidy provided a patch that makes libcurl store the FTP response code from ftp servers. Using curl_easy_getinfo() with CURLINFO_HTTP_CODE returns that data. The option is therefore now also known as CURLINFO_RESPONSE_CODE.- Antoine Calando found a segfault when doing multi-part/formpost using the multi interface.- Antoine Calando pointed out that curl_multi_info_read() didn't set the msgs_in_queue to 0 properly when returning NULL.Daniel (19 August)- I made curl support multiple -T options, as well as -T "{file1,file2}" style globbing. One -T for each URL is supported.- Jeff Pohlmeyer found a segfault when using ares-enabled libcurl and the multi interface when trying a non-existing host name.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -