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

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

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.

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
  the info from host B.

Yang Tse's avatar
Yang Tse committed
Yang Tse (7 Oct 2008)
- Added --enable-optimize configure option to enable and disable compiler
  optimizations to allow decoupled setting from --enable-debug.

Yang Tse (2 Oct 2008)
- Added --enable-warnings configure option to enable and disable strict
  compiler warnings to allow decoupled setting from --enable-debug.

  runtests.pl will now run with picky compiler warnings enabled unless
  explicitly disabled.
  
Daniel Fandrich (1 Oct 2008)
- "make clean" now cleans out the docs and tests directories, too.

Daniel Stenberg (30 Sep 2008)
- 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 (29 Sep 2008)
- 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.
  
Daniel Fandrich (29 Sep 2008)
- Moved all signal-based name resolution timeout handling into a single new
  Curl_resolv_timeout function to reduce coupling.

- Ian Lynagh provided a patch that now makes CURLOPT_RANGE work fine for SFTP
  downloads!

Daniel Stenberg's avatar
Daniel Stenberg committed
- Maxim Ivanov filed bug report #2107803
  (http://curl.haxx.se/bug/view.cgi?id=2107803) "no CURLINFO_REDIRECT_URL in
  multi mode" together with a patch that fixed the problem.
Daniel Stenberg's avatar
Daniel Stenberg committed
- Emanuele Bovisio submitted bug report #2126435. We fixed the HTTP Digest
  auth code to not behave badly when getting a blank realm with
  realm="". http://curl.haxx.se/bug/view.cgi?id=2126435
Daniel Fandrich (23 Sep 2008)
- 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.

- 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. Switching to our own converter
  has some side-effect and they are noted here for future reference (taken
  from a mail by mr Lokier):
Loading full blame...