Skip to content
CHANGES 78 KiB
Newer Older
                                  _   _ ____  _
                              ___| | | |  _ \| |
                             / __| | | | |_) | |
                            | (__| |_| |  _ <| |___
Daniel Stenberg's avatar
Daniel Stenberg committed
                             \___|\___/|_| \_\_____|

Daniel Stenberg's avatar
Daniel Stenberg committed
                                  Changelog
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's avatar
Daniel Stenberg committed
Version 7.19.1 (5 November 2008)

Daniel Stenberg (4 Nov 2008)
- CURLINFO_FILETIME now works for file:// transfers as well

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's avatar
Yang Tse committed
Yang Tse (3 Nov 2008)
- Fix undersized IPv6 address internal buffer. IPv6 address strings longer
  than 35 characters would be truncated.

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's avatar
Yang Tse committed
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.

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 (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
Daniel Stenberg's avatar
Daniel Stenberg committed
  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.

- 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:

  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.

Daniel Stenberg's avatar
Daniel Stenberg committed
- 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.
- 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 (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...