Newer
Older
_ _ ____ _
___| | | | _ \| |
/ __| | | | |_) | |
| (__| |_| | _ <| |___
Daniel Stenberg (11 Nov 2008)
- Rainer Canavan filed bug #2255627
(http://curl.haxx.se/bug/view.cgi?id=2255627) which pointed out that a
program using libcurl's multi interface to download a HTTPS page with a
libcurl built powered by OpenSSL, would easily get silly and instead hand
over SSL details as data instead of the actual HTTP headers and body. This
happened because libcurl would consider the connection handshake done too
early. This problem was introduced at September 22nd 2008 with my fix of the
bug #2107377
The correct fix is now instead done within the GnuTLS-handling code, as both
the OpenSSL and the NSS code already deal with this situation in similar
fashion. I added test case 560 in an attempt to verify this fix, but
unfortunately it didn't trigger it even before this fix!
Yang Tse (11 Nov 2008)
- Related with bug #2230535 (http://curl.haxx.se/bug/view.cgi?id=2230535)
Daniel Fandrich noticed that curl_addrinfo was also missing in the build
process of other four non-configure platforms. Added now.
Daniel Fandrich (7 Nov 2008)
- The getifaddrs() version of Curl_if2ip() crashed when used on a Linux
system with a TEQL load-balancing device configured, which doesn't
have an address. Thanks to Adam Sampson for spotting this (bug #2234923).
Yang Tse (6 Nov 2008)
- Merged existing IPv4 and IPv6 Curl_ip2addr functions into a single one
which now also takes a protocol address family argument.
- Bug #2230535 (http://curl.haxx.se/bug/view.cgi?id=2230535) pointed out a
problem with MSVC 6 makefile that caused a build failure. It was noted that
the curl_addrinfo.obj reference was missing. I took the opportunity to sort
the list in which this was missing. Issue submitted by John Wilkinson.
Daniel Stenberg (4 Nov 2008)
- CURLINFO_FILETIME now works for file:// transfers as well
Daniel Stenberg
committed
Daniel Stenberg (3 Nov 2008)
- Bug #2218480 (http://curl.haxx.se/bug/view.cgi?id=2218480) pointed out a
problem with my CURLINFO_PRIMARY_IP fix from October 7th that caused a NULL
pointer read. I also took the opportunity to clean up this logic (storing of
the connection's IP address) somewhat as we had it stored in two different
places and ways previously and they are now unified.
Yang Tse (3 Nov 2008)
- Fix undersized IPv6 address internal buffer. IPv6 address strings longer
than 35 characters would be truncated.
Daniel Stenberg
committed
Daniel Stenberg (2 Nov 2008)
- Daniel Johnson reported and fixed:
When c-ares isn't enabled, libcurl by default calls getaddrinfo with family
set to PF_UNSPEC which causes getaddrinfo to return all available addresses,
both IPv4 and IPv6. Libcurl then tries each one until it can connect. If the
net connection doesn't support IPv6, libcurl can still fall back to IPv4.
However, since c-ares doesn't support PF_UNSPEC, when it's used it defaults
to using family=PF_INET6 and therefore only returns IPv6 addresses when AAAA
records are available, even if IPv4 addresses are also available. The effect
is that since my ISP doesn't do IPv6, libcurl can't connect at all to a site
that has AAAA records. It will work if I explicitly use CURL_IPRESOLVE_V4 or
--ipv4 with the curl tool. I discovered this when curl would fail to connect
to seemingly random sites. It turns out they weren't random, they were sites
with AAAA records.
So now libcurl defaults to PF_INET... until c-ares has been tought to offer
both.
Yang Tse (31 Oct 2008)
- Tests 558 and 559 are stabilized. These two tests were initially introduced
to aid in the location of a seg-fault which was only triggered on non-debug
builds done with the icc 9.1 Intel compiler. Test 558 does not trigger the
problem, but test 559 does trigger it. As of today, it isn't yet absolutely
clear if it is a compiler optimizer issue or a memory corruption one.
Yang Tse (30 Oct 2008)
- Use our Curl_addrinfo structure definition to handle address info data even
when a system addrinfo struct is available. Provide and use a wrapper around
systems getaddrinfo function, Curl_getaddrinfo_ex which returns a pointer to
a list of dynamically allocated Curl_addrinfo structs.
Configure will check freeaddrinfo and getaddrinfo functions and define
preprocessor symbols HAVE_FREEADDRINFO and HAVE_GETADDRINFO when appropriate.
Daniel Fandrich (29 Oct 2008)
- Fixed a bug that caused a few bytes of garbage to be sent after a
curl_easy_pause() during a chunky upload. Reported by Steve Roskowski.
Daniel Fandrich (28 Oct 2008)
- Changed the "resolve" test precheck program to verify that an IPv6 socket
can be created before resolving the IPv6 name. In the context of running
a test, it doesn't make sense to run an IPv6 test when a host is resolvable
but IPv6 isn't usable. This should fix failures of test 1085 on hosts with
library and DNS support for IPv6 but where actual use of IPv6 has been
administratively disabled.
Daniel Fandrich (24 Oct 2008)
- Added experimental support for zlib and OpenSSL on Symbian OS.
Dan Fandrich
committed
Daniel Fandrich (21 Oct 2008)
- Fixed some problems with SFTP range support to fix test cases 634 through
637.
Daniel Fandrich (17 Oct 2008)
- Fixed a compile error reported by Albert Chin on AIX and IRIX when using
GTLS.
Daniel Stenberg
committed
Daniel Stenberg (16 Oct 2008)
- Igor Novoseltsev added CURLOPT_PROXYUSER and CURLOPT_PROXYPASSWORD that then
make CURLOPT_PROXYUSERPWD sort of deprecated. The primary motive for adding
these new options is that they have no problems with the colon separator
that the CURLOPT_PROXYUSERPWD option does.
Daniel Stenberg (15 Oct 2008)
- Pascal Terjan filed bug #2154627
(http://curl.haxx.se/bug/view.cgi?id=2154627) which pointed out that libcurl
uses strcasecmp() in multiple places where it causes failures when the
Turkish locale is used. This is because 'i' and 'I' isn't the same letter so
strcasecmp() on those letters are different in Turkish than in English (or
just about all other languages). I thus introduced a totally new internal
function in libcurl (called Curl_raw_equal) for doing case insentive
comparisons for english-(ascii?) style strings that thus will make "file"
and "FILE" match even if the Turkish locale is selected.
Daniel Fandrich (15 Oct 2008)
- A <precheck> command is considered to have failed if it returns a non-zero
return code. This way, if the precheck command can't be run at all for
whatever reason, it's treated as a precheck failure which causes the
test to be skipped.
Daniel Stenberg (15 Oct 2008)
- John Wilkinson filed bug #2155496
(http://curl.haxx.se/bug/view.cgi?id=2155496) pointing out an error case
without a proper human-readable error message. When a read callback returns
a too large value (like when trying to return a negative number) it would
trigger and the generic error message then makes the proplem slightly
different to track down. I've added an error message for this now.
Daniel Fandrich (9 Oct 2008)
- Fixed the --interface option to work with IPv6 connections on glibc
systems supporting getifaddrs(). Also fixed a problem where an IPv6
address could be chosen instead of an IPv4 one for --interface when it
involved a name lookup.
Daniel Fandrich (8 Oct 2008)
- Added tests 1082 through 1085 to test symbolic --interface parameters
- Added tests 633 through 637 to test the new file range support for SFTP.
All but the first test cause an infinite loop or other failure and so
are added to DISABLED.
Daniel Stenberg (8 Oct 2008)
- John Wilkinson filed bug #2152270
(http://curl.haxx.se/bug/view.cgi?id=2152270) which identified and fixed a
CURLINFO_REDIRECT_URL memory leak and an additional wrong-doing:
Daniel Stenberg
committed
Any subsequent transfer with a redirect leaks memory, eventually crashing
the process potentially.
Any subsequent transfer WITHOUT a redirect causes the most recent redirect
that DID occur on some previous transfer to still be reported.
- Igor Novoseltsev filed bug #2111613
(http://curl.haxx.se/bug/view.cgi?id=2111613) that eventually identified a
flaw in how the multi_socket interface in some cases missed to call the
timeout callback when easy interfaces are removed and added within the same
millisecond.
Daniel Stenberg
committed
- Igor Novoseltsev brought a patch that introduced two new options to
curl_easy_setopt: CURLOPT_USERNAME and CURLOPT_PASSWORD that sort of
deprecates the good old CURLOPT_USERPWD since they allow applications to set
the user name and password independently and perhaps more importantly allow
both to contain colon(s) which CURLOPT_USERPWD doesn't fully support.
Daniel Fandrich (7 Oct 2008)
- 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.
- 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
Daniel Stenberg
committed
Daniel Stenberg (7 Oct 2008)
- 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
Loading full blame...