Dan Fandrich [Wed, 8 Oct 2008 03:32:10 +0000 (03:32 +0000)]
Created test cases 1080 and 1081 to reproduce a problem of
CURLINFO_REDIRECT_URL leaking memory and returning incorrect results when
two URLs are requested. Reported by vmpdemo in bug #2152270
Dan Fandrich [Tue, 7 Oct 2008 23:15:02 +0000 (23:15 +0000)]
Changed the handling of read/write errors in Curl_perform() to allow a
a fresh connection to be made in such cases and the request retransmitted.
This should fix test case 160. Added test case 1079 in an attempt to
test a similar connection dropping scenario, but as a race condition, it's
hard to test reliably.
Daniel Stenberg [Tue, 7 Oct 2008 22:13:34 +0000 (22:13 +0000)]
One fix for CURLINFO_PRIMARY_IP just went in which addressed at least one of
the concerns mentioned for 174 and the other guy hasn't returned so I remove
the entry from here now.
Daniel Stenberg [Tue, 7 Oct 2008 21:56:56 +0000 (21:56 +0000)]
- Fixed CURLINFO_PRIMARY_IP: When libcurl created a connection to host A then
the app re-used the handle to do a connection to host B and then again
re-used the handle to host A, it would not update the info with host A's IP
address (due to the connection being re-used) but it would instead report
the info from host B.
Daniel Stenberg [Tue, 30 Sep 2008 09:51:58 +0000 (09:51 +0000)]
- The libcurl FTP code now returns CURLE_REMOTE_FILE_NOT_FOUND error when SIZE
gets a 550 response back for the cases where a download (or NOBODY) is
wanted. It still allows a 550 as response if the SIZE is used as part of an
upload process (like if resuming an upload is requested and the file isn't
there before the upload). I also modified the FTP test server and a few test
cases accordingly to match this modified behavior.
Daniel Stenberg [Mon, 29 Sep 2008 21:46:04 +0000 (21:46 +0000)]
- Daniel Egger provided a patch that allows you to disable proxy support in
libcurl to somewhat reduce the size of the binary. Run configure
--disable-proxy.
Yang Tse [Wed, 24 Sep 2008 13:55:23 +0000 (13:55 +0000)]
Official OpenSSL released versions up to and including 0.9.8i as well as
2008-09-24 stable snapshot have a buf_mem_st.length structure member with
'int' data type.
OpenSSL un-released 0.9.9 CVS version has a buf_mem_st.length structure member
with 'size_t' data type since 2007-Oct-09.
These 4 typecasts should silence compiler warnings in all cases.
Dan Fandrich [Wed, 24 Sep 2008 01:08:01 +0000 (01:08 +0000)]
Make sure not to dereference the wrong UrlState proto union member when
switching from one protocol to another in a single request (e.g.
redirecting from HTTP to FTP as in test 1055) by resetting
state.expect100header before every request.
Daniel Stenberg [Tue, 23 Sep 2008 11:00:01 +0000 (11:00 +0000)]
- Introducing Jamie Lokier's function for date to epoch conversion used in the
date parser function. This makes our function less dependent on system-
provided functions and instead we do all the magic ourselves. We also no
longer depend on the TZ environment variable.
Daniel Stenberg [Mon, 22 Sep 2008 23:12:00 +0000 (23:12 +0000)]
- Made the SOCKS code use the new Curl_read_plain() function to fix the bug
Markus Moeller reported: http://curl.haxx.se/mail/archive-2008-09/0016.html
- recv() errors other than those equal to EAGAIN now cause proper
CURLE_RECV_ERROR to get returned. This made test case 160 fail so I've now
disabled it until we can figure out another way to exercise that logic.
Daniel Stenberg [Mon, 22 Sep 2008 20:42:13 +0000 (20:42 +0000)]
- Michael Goffioul filed bug report #2107377 "Problem with mutli + GnuTLS +
proxy" (http://curl.haxx.se/bug/view.cgi?id=2107377) that showed how a multi
interface using program didn't work when built with GnuTLS and a CONNECT
request was done over a proxy (basically test 502 over a proxy to a HTTPS
site). It turned out the ssl connect function would get called twice which
caused the second call to fail.