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

Daniel Stenberg's avatar
Daniel Stenberg committed
                                  Changelog
Daniel Stenberg (20 Jan 2009)
- Lisa Xu pointed out that the ssh.obj file was missing from the lib/Makefile.vc6
  file (and thus from the vc8 and vc9 ones too). 

Daniel Stenberg's avatar
Daniel Stenberg committed
Version 7.19.3 (19 January 2009)

Daniel Stenberg (16 Jan 2009)
- Andrew de los Reyes fixed curlbuild.h for "generic" gcc builds on PPC, both
  32 bit and 64 bit.

Daniel Stenberg (15 Jan 2009)
- Tim Ansell fixed a compiler warning in lib/cookie.c

Daniel Stenberg (14 Jan 2009)
- Grant Erickson fixed timeouts for TFTP such that specifying a
  connect-timeout, a max-time or both options work correctly and as expected
  by passing the correct boolean value to Curl_timeleft via the
  'duringconnect' parameter.

  With this small change, curl TFTP now behaves as expected (and likely as
  originally-designed):

  1) For non-existent or unreachable dotted IP addresses:

   a) With no options, follows the default curl 300s timeout...
   b) With --connect-timeout only, follows that value...
   c) With --max-time only, follows that value...
   d) With both --connect-timeout and --max-time, follows the smaller value...

   and times out with a "curl: (7) Couldn't connect to server" error.

  2) For transfers to/from a valid host:

   a) With no options, follows default curl 300s timeout for the
      first XRQ/DATA/ACK transaction and the default TFTP 3600s
      timeout for the remainder of the transfer...

   b) With --connect-time only, follows that value for the
      first XRQ/DATA/ACK transaction and the default TFTP 3600s
      timeout for the remainder of the transfer...

   c) With --max-time only, follows that value for the first
      XRQ/DATA/ACK transaction and for the remainder of the
      transfer...

   d) With both --connect-timeout and --max-time, follows the former
      for the first XRQ/DATA/ACK transaction and the latter for the
      remainder of the transfer...

   and times out with a "curl: (28) Timeout was reached" error as
   appropriate.
- Michael Wallner fixed a NULL pointer deref when calling
  curl_easy_setup(curl, CURLOPT_COOKIELIST, "SESS") on a CURL handle with no
  cookies data.

- Stefan Teleman brought a patch to fix the default curlbuild.h file for the
  SunPro compilers.

Daniel Stenberg (12 Jan 2009)
- Based on bug report #2498665 (http://curl.haxx.se/bug/view.cgi?id=2498665)
  by Daniel Black, I've now added magic to the configure script that makes it
  use pkg-config to detect gnutls details as well if the existing method
  (using libgnutls-config) fails. While doing this, I cleaned up and unified
  the pkg-config usage when detecting openssl and nss as well.

- Karl Moerder brought the patch that creates vc9 Makefiles, and I made
  'maketgz' now use the actual makefile targets to do the VC8 and VC9
  makefiles.
Daniel Stenberg's avatar
Daniel Stenberg committed
Daniel Stenberg (10 Jan 2009)
- Emil Romanus fixed:

  When using the multi interface over HTTP and the server returns a Location
  header, the running easy handle will get stuck in the CURLM_STATE_PERFORM
  state, leaving the external event loop stuck waiting for data from the
  ingoing socket (when using the curl_multi_socket_action stuff). While this
  bug was pretty hard to find, it seems to require only a one-line fix. The
  break statement on line 1374 in multi.c caused the function to skip the call
  to multistate().

  How to reproduce this bug? Well, that's another question.  evhiperfifo.c in
  the examples directory chokes on this bug only _sometimes_, probably
  depending on how fast the URLs are added. One way of testing the bug out is
  writing to hiper.fifo from more than one source at the same time.

Daniel Fandrich (7 Jan 2009)
- Unified much of the SessionHandle initialization done in Curl_open() and
Daniel Stenberg's avatar
Daniel Stenberg committed
  curl_easy_reset() by creating Curl_init_userdefined(). This had the side
  effect of fixing curl_easy_reset() so it now also resets
  CURLOPT_FTP_FILEMETHOD and CURLOPT_SSL_SESSIONID_CACHE
Daniel Stenberg (7 Jan 2009)
- Rob Crittenden did once again provide an NSS update:

  I have to jump through a few hoops now with the NSS library initialization
  since another part of an application may have already initialized NSS by the
  time Curl gets invoked. This patch is more careful to only shutdown the NSS
  library if Curl did the initialization.

  It also adds in a bit of code to set the default ciphers if the app that
  call NSS_Init* did not call NSS_SetDomesticPolicy() or set specific
  ciphers. One might argue that this lets other application developers get
  lazy and/or they aren't using the NSS API correctly, and you'd be right.
  But still, this will avoid terribly difficult-to-trace crashes and is
  generally helpful.

Daniel Stenberg (1 Jan 2009)
- 'reconf' is removed since we rather have users use 'buildconf'

Daniel Stenberg (31 Dec 2008)
- Bas Mevissen reported http://curl.haxx.se/bug/view.cgi?id=2479030 pointing
  out that 'reconf' didn't properly point out the m4 subdirectory when running
  aclocal.

Daniel Stenberg (29 Dec 2008)
 - Phil Lisiecki filed bug report #2413067
  (http://curl.haxx.se/bug/view.cgi?id=2413067) that identified a problem that
  would cause libcurl to mark a DNS cache entry "in use" eternally if the
  subsequence TCP connect failed. It would thus never get pruned and refreshed
  as it should've been.

  Phil provided his own patch to this problem that while it seemed to work
  wasn't complete and thus I wrote my own fix to the problem.

Daniel Stenberg (28 Dec 2008)
- Peter Korsgaard fixed building libcurl with "configure --with-ssl
  --disable-verbose".
  
- Anthony Bryan fixed more language and spelling flaws in man pages.

- Given a recent enough libssh2, libcurl can now seek/resume with SFTP even
  on file indexes beyond 2 or 4GB.

- Anthony Bryan provided a set of patches that cleaned up manual language,
  corrected spellings and more.

Daniel Stenberg (20 Dec 2008)
- Igor Novoseltsev fixed a bad situation for the multi_socket() API when doing
  pipelining, as libcurl could then easily get confused and A) work on the
  handle that was not "first in queue" on a pipeline, or even B) tell the app
  to REMOVE a socket while it was in use by a second handle in a pipeline. Both
  errors caused hanging or stalling applications.

- curl_multi_timeout() could return a timeout value of 0 even though nothing
  was actually ready to get done, as the internal time resolution is higher
  than the returned millisecond timer. Therefore it could cause applications
  running on fast processors to do short bursts of busy-loops.
  curl_multi_timeout() will now only return 0 if the timeout is actually
  alreay triggered.

- Using the libssh2 0.19 function libssh2_session_block_directions(), libcurl
  now has an improved ability to do right when the multi interface (both
  "regular" and multi_socket) is used for SCP and SFTP transfers. This should
  result in (much) less busy-loop situations and thus less CPU usage with no
  speed loss.

Daniel Stenberg (17 Dec 2008)
- SCP and SFTP with the multi interface had the same flaw: the 'DONE'
  operation didn't complete properly if the EAGAIN equivalent was returned but
  libcurl would simply continue with a half-completed close operation
  performed. This ruined persistent connection re-use and cause some
  SSH-protocol errors in general. The correction is unfortunately adding a
  blocking function - doing it entirely non-blocking should be considered for
  a better fix.

Gisle Vanem (16 Dec 2008)
- Added the possibility to use the Watt-32 tcp/ip stack under Windows.
  The change simply involved adding a USE_WATT32 section in the
  config-win32.h files (under ./lib and ./src). This section disables
  the use of any Winsock headers.

Daniel Stenberg (16 Dec 2008)
- libssh2_sftp_last_error() was wrongly used at some places in libcurl which
  made libcurl sometimes not properly abort problematic SFTP transfers.

Daniel Stenberg (12 Dec 2008)
- More work with Igor Novoseltsev to first fix the remaining stuff for
  removing easy handles from multi handles when the easy handle is/was within
  a HTTP pipeline. His bug report #2351653
  (http://curl.haxx.se/bug/view.cgi?id=2351653) was also related and was
  eventually fixed by a patch by Igor himself.

Yang Tse (12 Dec 2008)
- Patrick Monnerat fixed a build regression, introduced in 7.19.2, affecting
  OS/400 compilations with IPv6 enabled.

Loading full blame...