aboutsummaryrefslogtreecommitdiff
path: root/CHANGES
AgeCommit message (Collapse)Author
2007-02-27- Hang Kin Lau found and fixed: When I use libcurl to connect to an httpsDaniel Stenberg
server through a proxy and have the remote https server port set using the CURLOPT_PORT option, protocol gets reset to http from https after the first request. User defined URL was modified internally by libcurl and subsequent reuse of the easy handle may lead to connection using a different protocol (if not originally http). I found that libcurl hardcoded the protocol to "http" when it tries to regenerate the URL if CURLOPT_PORT is set. I tried to fix the problem as follows and it's working fine so far
2007-02-25- Adam D. Moss made the HTTP CONNECT procedure less blocking when used fromDaniel Stenberg
the multi interface. Note that it still does a part of the connection in a blocking manner.
2007-02-23- Added warning outputs if the command line uses more than one of the optionsDaniel Stenberg
-v, --trace and --trace-ascii, since it could really confuse the user. Clarified this fact in the man page.
2007-02-21- Ravi Pratap provided work on libcurl making pipelining more robust andDaniel Stenberg
fixing some bugs: o Don't mix GET and POST requests in a pipeline o Fix the order in which requests are dispatched from the pipeline o Fixed several curl bugs with pipelining when the server is returning chunked encoding: * Added states to chunked parsing for final CRLF * Rewind buffer after parsing chunk with data remaining * Moved chunked header initializing to a spot just before receiving headers
2007-02-19Ian Turner fixed the libcurl.m4 macro's support for --with-libcurl.Daniel Stenberg
AC_PATH_PROG was not used properly.
2007-02-19- Shmulik Regev found a memory leak in re-used HTTPS connections, at leastDaniel Stenberg
when the multi interface was used.
2007-02-19- Robson Braga Araujo made passive FTP transfers work with SOCKS (both 4 andDaniel Stenberg
5).
2007-02-18- Jeff Pohlmeyer identified two problems: first a rather obscure problem withDaniel Stenberg
the multi interface and connection re-use that could make a curl_multi_remove_handle() ruin a pointer in another handle. The second problem was less of an actual problem but more of minor quirk: the re-using of connections wasn't properly checking if the connection was marked for closure.
2007-02-16- Duncan Mac-Vicar Prett and Michal Marek reported problems with resettingDaniel Stenberg
CURLOPT_RANGE back to no range on an easy handle when using FTP.
2007-02-14Don't bother adding a library path of /usr/lib in curl-config --libsDan Fandrich
2007-02-13ftp@example.com is now the new anonymous FTP password. I opted for 'ftp' onDaniel Stenberg
the left side of @ to make it short(er).
2007-02-13- Robert A. Monat made libcurl build fine with VC2005 - it doesn't haveDaniel Stenberg
gmtime_r() like the older VC versions. He also made use of some machine- specific defines to differentiate the "OS" define.
2007-02-12mention today's LIBCURL_TIMESTAMP fixDaniel Stenberg
2007-02-12Rob Crittenden added support for NSS (Network Security Service) for theDaniel Stenberg
SSL/TLS layer. http://www.mozilla.org/projects/security/pki/nss/
2007-02-12- Shmulik Regev fixed so that the final CRLF of HTTP response headers are sentDaniel Stenberg
to the debug callback. - Shmulik Regev added CURLOPT_HTTP_CONTENT_DECODING and CURLOPT_HTTP_TRANSFER_DECODING that if set to zero will disable libcurl's internal decoding of content or transfer encoded content. This may be preferable in cases where you use libcurl for proxy purposes or similar. The command line tool got a --raw option to disable both at once.
2007-02-12- Jeff Pohlmeyer fixed a flaw in curl_multi_add_handle() when adding a handleDaniel Stenberg
that has an easy handle present in the "closure" list pending closure.
2007-02-06non-blocking SSH stuffDaniel Stenberg
2007-02-05- Michael Wallner provided a patch that adds support for CURLOPT_TIMEOUT_MSDaniel Stenberg
and CURLOPT_CONNECTTIMEOUT_MS that, as their names should hint, do the timeouts with millisecond resolution instead. The only restriction to that is the alarm() (sometimes) used to abort name resolves as that uses full seconds. I fixed the FTP response timeout part of the patch. Internally we now count and keep the timeouts in milliseconds but it also means we multiply set timeouts with 1000. The effect of this is that no timeout can be set to more than 2^31 milliseconds (on 32 bit systems), which equals 24.86 days. We probably couldn't before either since the code did *1000 on the timeout values on several places already.
2007-02-03- Yang Tse fixed the cookie expiry date in several test cases that started toDaniel Stenberg
fail since they used "1 feb 2007"... - Manfred Schwarb reported that socks5 support was broken and help us pinpoint the problem. The code now tries harder to use httproxy and proxy where apppropriate, as not all proxies are HTTP...
2007-01-29release timeDaniel Stenberg
2007-01-29- Michael Wallner reported that when doing a CONNECT with a custom User-AgentDaniel Stenberg
header, you got _two_ User-Agent headers in the CONNECT request...! Added test case 287 to verify the fix.
2007-01-28curl_easy_reset() now resets the CA bundle path correctlyDaniel Stenberg
2007-01-27- David McCreedy fixed the Curl command line tool for HTTP on non-ASCIIDaniel Stenberg
platforms.
2007-01-25- Added the --libcurl [file] option to curl. Append this option to anyDaniel Stenberg
ordinary curl command line, and you will get a libcurl-using source code written to the file that does the equivalent operation of what your command line operation does!
2007-01-25Fixed a dangling pointer problem that prevented the http_proxy environmentDan Fandrich
variable from being properly used in many cases (and caused test case 63 to fail).
2007-01-23- David McCreedy did NTLM changes mainly for non-ASCII platforms:Daniel Stenberg
#1 There's a compilation error in http_ntlm.c if USE_NTLM2SESSION is NOT defined. I noticed this while testing various configurations. Line 867 of the current http_ntlm.c is a closing bracket for an if/else pair that only gets compiled in if USE_NTLM2SESSION is defined. But this closing bracket wasn't in an #ifdef so the code fails to compile unless USE_NTLM2SESSION was defined. Lines 198 and 140 of my patch wraps that closing bracket in an #ifdef USE_NTLM2SESSION. #2 I noticed several picky compiler warnings when DEBUG_ME is defined. I've fixed them with casting. By the way, DEBUG_ME was a huge help in understanding this code. #3 Hopefully the last non-ASCII conversion patch for libcurl in a while. I changed the "NTLMSSP" literal to hex since this signature must always be in ASCII. Conversion code was strategically added where necessary. And the Curl_base64_encode calls were changed so the binary "blobs" http_ntlm.c creates are NOT translated on non-ASCII platforms.
2007-01-23Convert (most of) the test data files into genuine XML. A handful stillDan Fandrich
are not, due mainly to the lack of support for XML character entities (e.g. & => & ). This will make it easier to validate test files using tools like xmllint, as well as edit and view them using XML tools.
2007-01-16- Armel Asselin improved libcurl to behave a lot better when an easy handleDaniel Stenberg
doing an FTP transfer is removed from a multi handle before completion. The fix also fixed the "alive counter" to be correct on "premature removal" for all protocols.
2007-01-16Fixed a small memory leak in tftp uploads discovered by curl's memory leakDan Fandrich
detector. Also changed tftp downloads to URL-unescape the downloaded file name.
2007-01-14- David McCreedy provided libcurl changes for doing HTTP communication onDaniel Stenberg
non-ASCII platforms. It does add some complexity, most notably with more #ifdefs, but I want to see this supported added and I can't see how we can add it without the extra stuff added.
2007-01-134GB download and cookielist "ALL" fixesDaniel Stenberg
2007-01-05- Linus Nielsen Feltzing introduced the --ftp-ssl-ccc command line option toDaniel Stenberg
curl that uses the new CURLOPT_FTP_SSL_CCC option in libcurl. If enabled, it will make libcurl shutdown SSL/TLS after the authentication is done on a FTP-SSL operation.
2007-01-03- David McCreedy made changes to allow base64 encoding/decoding to work onDaniel Stenberg
non-ASCII platforms.
2007-01-03- Matt Witherspoon fixed the flaw which made libcurl 7.16.0 always storeDaniel Stenberg
downloaded data in two buffers, just to be able to deal with a special HTTP pipelining case. That is now only activated for pipelined transfers. In Matt's case, it showed as a considerable performance difference,
2007-01-02- Victor Snezhko helped us fix bug report #1603712Daniel Stenberg
(http://curl.haxx.se/bug/view.cgi?id=1603712) (known bug #36) --limit-rate (CURLOPT_MAX_SEND_SPEED_LARGE and CURLOPT_MAX_RECV_SPEED_LARGE) are broken on Windows (since 7.16.0, but that's when they were introduced as previous to that the limiting logic was made in the application only and not in the library). It was actually also broken on select()-based systems (as apposed to poll()) but we haven't had any such reports. We now use select(), Sleep() or delay() properly to sleep a while without waiting for anything input or output when the rate limiting is activated with the easy interface.
2007-01-02- Modified libcurl.pc.in to use Libs.private for the libs libcurl itself needsDaniel Stenberg
to get built static. It has been mentioned before and was again brought to our attention by Nathanael Nerode who filed debian bug report #405226 (http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=405226).
2006-12-29curl_easy_duphandle() sets the magic number in the new handleDaniel Stenberg
2006-12-22- Robert Foreman provided a prime example snippet showing how libcurl wouldDaniel Stenberg
get confused and not acknowledge the 'no_proxy' variable properly once it had used the proxy and you re-used the same easy handle. I made sure the proxy name is properly stored in the connect struct rather than the sessionhandle/easy struct.
2006-12-22- David McCreedy fixed a bad call to getsockname() that wrongly used a size_tDaniel Stenberg
variable to point to when it should be a socklen_t.
2006-12-22When setting a proxy with environment variables and (for example) runningDaniel Stenberg
'curl [URL]' with a URL without a protocol prefix, curl would not send a correct request as it failed to add the protocol prefix.
2006-12-21Robson Braga Araujo reported bug #1618359Daniel Stenberg
(http://curl.haxx.se/bug/view.cgi?id=1618359) and subsequently provided a patch for it: when downloading 2 zero byte files in a row, curl 7.16.0 enters an infinite loop, while curl 7.16.1-20061218 does one additional unnecessary request. Fix: During the "Major overhaul introducing http pipelining support and shared connection cache within the multi handle." change, headerbytecount was moved to live in the Curl_transfer_keeper structure. But that structure is reset in the Transfer method, losing the information that we had about the header size. This patch moves it back to the connectdata struct.
2006-12-16Brendan Jurd provided a fix that now prevents libcurl from getting a SIGPIPEDaniel Stenberg
during certain conditions when GnuTLS is used.
2006-12-11Alexey Simak found out that when doing FTP with the multi interface andDaniel Stenberg
something went wrong like it got a bad response code back from the server, libcurl would leak memory. Added test case 538 to verify the fix. I also noted that the connection would get cached in that case, which doesn't make sense since it cannot be re-use when the authentication has failed. I fixed that issue too at the same time, and also that the path would be "remembered" in vain for cases where the connection was about to get closed.
2006-12-06Sebastien Willemijns reported bug #1603712Daniel Stenberg
(http://curl.haxx.se/bug/view.cgi?id=1603712) which is about connections getting cut off prematurely when --limit-rate is used. While I found no such problems in my tests nor in my reading of the code, I found that the --limit-rate code was severly flawed (since it was moved into the lib, since 7.15.5) when used with the easy interface and it didn't work as documented so I reworked it somewhat and now it works for my tests.
2006-12-05Stefan Krause pointed out a compiler warning with a picky MSCV compiler whenDaniel Stenberg
passing a curl_off_t argument to the Curl_read_rewind() function which takes an size_t argument. Curl_read_rewind() also had debug code left in it and it was put in a different source file with no good reason when only used from one single spot.
2006-12-05Sh Diao reported that CURLOPT_CLOSEPOLICY doesn't work, and indeed, there isDaniel Stenberg
no code present in the library that receives the option. Since it was not possible to use, we know that no current users exist and thus we simply removed it from the docs and made the code always use the default path of the code.
2006-12-05Jared Lundell filed bug report #1604956Daniel Stenberg
(http://curl.haxx.se/bug/view.cgi?id=1604956) which identified setting CURLOPT_MAXCONNECTS to zero caused libcurl to SIGSEGV. Starting now, libcurl will always internally use no less than 1 entry in the connection cache.
2006-12-05CURLOPT_FORBID_REUSE works again with a cleaned up order of doing things inDaniel Stenberg
Curl_done()
2006-12-05Martin Skinner brought back bug report #1230118 to haunt us once again.Daniel Stenberg
(http://curl.haxx.se/bug/view.cgi?id=1230118) curl_getdate() did not work properly for all input dates on Windows. It was mostly seen on some TZ time zones using DST. Luckily, Martin also provided a fix.
2006-12-05Alexey Simak filed bug report #1600447Daniel Stenberg
(http://curl.haxx.se/bug/view.cgi?id=1600447) in which he noted that active FTP connections don't work with the multi interface. The problem is here that the multi interface state machine has a state during which it can wait for the data connection to connect, but the active connection is not done in the same step in the sequence as the passive one is so it doesn't quite work for active. The active FTP code still use a blocking function to allow the remote server to connect. The fix (work-around is a better word) for this problem is to set the boolean prematurely that the data connection is completed, so that the "wait for connect" phase ends at once.