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

Daniel Stenberg's avatar
Daniel Stenberg committed
                                  Changelog
Daniel Stenberg (26 Sep 2009)
- John P. McCaskey posted a bug report that showed how libcurl did wrong when
  saving received cookies with no given path, if the path in the request had a
  query part. That is means a question mark (?) and characters on the right
  side of that. I wrote test case 1105 and fixed this problem.

Kamil Dudka (26 Sep 2009)
- Implemented a protocol independent way to specify blocking direction, used by
  transfer.c for blocking. It is currently used only by SCP and SFTP protocols.
  This enhancement resolves an issue with 100% CPU usage during SFTP upload,
  reported by Vourhey.

Daniel Stenberg (25 Sep 2009)
- Chris Mumford filed bug report #2861587
  (http://curl.haxx.se/bug/view.cgi?id=2861587) identifying that libcurl used
  the OpenSSL function X509_load_crl_file() wrongly and failed if it would
  load a CRL file with more than one certificate within. This is now fixed.
  
Daniel Stenberg (16 Sep 2009)
- Sven Anders reported that we introduced a cert verfication flaw for OpenSSL-
  powered libcurl in 7.19.6. If there was a X509v3 Subject Alternative Name
  field in the certficate it had to match and so even if non-DNS and non-IP
  entry was present it caused the verification to fail.

Daniel Fandrich (15 Sep 2009)
- Moved the libssh2 checks after the SSL library checks. This helps when
  statically linking since libssh2 needs the SSL library link flags to be
  set up already to satisfy its dependencies. This wouldn't be necessary if
  the libssh2 configure check was changed to use pkg-config since the
  --static flag would add the dependencies automatically.

Yang Tse's avatar
Yang Tse committed
Yang Tse (14 Sep 2009)
- Revert Joshua Kwan's patch committed 11 Sep 2009.

  Some systems poll function sets POLLHUP in revents without setting
  POLLIN, and sets POLLERR without setting POLLIN and POLLOUT. In some
  libcurl code execution paths this could trigger busy wait loops with
  high CPU usage until a timeout condition aborted the loop.

  The reverted patch addressed the above issue for a very specific case,
  when awaiting c-ares to resolve. A libcurl-wide fix for Curl_poll now
  superceeds this one.

Guenter Knauf (11 Sep 2009)
- Joshua Kwan provided a patch to pass POLLERR / POLLHUP back to c-ares.
  This fixes a loop problem with high CPU usage.

Daniel Stenberg (10 Sep 2009)
- Claes Jakobsson fixed a problem with cookie expiry dates at exctly the epoch
  start second "Thu Jan 1 00:00:00 GMT 1970" as the date parser then returns 0
  which internally then is treated as a session cookie. That particular date
  is now made to get the value of 1.

Guenter Knauf's avatar
Guenter Knauf committed
- Daniel Johnson found a flaw in the code converting sftp-errors to libcurl
Guenter Knauf's avatar
Guenter Knauf committed
- Peter Sylvester made a debug feature for Curl_resolv() that now will force
  libcurl to resolve 'localhost' whatever name you use in the URL *if* you set
  the --interface option to (exactly) "LocalHost". This will enable us to
  write tests for custom hosts names but still use a local host server.

- configure now tries to use pkg-config for a number of sub-dependencies even
  when cross-compiling. The key to success is then you properly setup
  PKG_CONFIG_PATH before invoking configure.

  I also improved how NSS is detected by trying nss-config if pkg-config isn't
  present, and as a last resort just use the lib name and force the user to
  setup the LIBS/LDFLAGS/CFLAGS etc properly. The previous last resort would
  add a range of various libs that would almost never be quite correct.

Daniel Stenberg (31 Aug 2009)
- When using the multi interface with FTP and you asked for NOBODY, you did no
  QUOTE commands and the request used the same path as the connection had
  already changed to, it would decide that no commands would be necessary for
  the "DO" action and that was not handled properly but libcurl would instead
  hang.

Kamil Dudka (28 Aug 2009)
- Improved error message for not matching certificate subject name in
  libcurl-NSS. Originally reported at:
  https://bugzilla.redhat.com/show_bug.cgi?id=516056#c9

Patrick Monnerat (24 Aug 2009)
- Introduced a SYST-based test to properly set-up name format when dealing
  with the OS/400 FTP server.

- Fixed an ftp_readresp() bug preventing detection of failing control socket
  and causing FTP client to loop forever.

- Marc de Bruin pointed out that configure --with-gnutls=PATH didn't work
  properly and provided a fix. http://curl.haxx.se/bug/view.cgi?id=2843008

- Eric Wong introduced support for the new option -T. (dot) that makes curl
  read stdin in a non-blocking fashion. This also brings back -T- (minus) to
  the previous blocking behavior since it could break stuff for people at
  times.

Michal Marek (21 Aug 2009)
- With CURLOPT_PROXY_TRANSFER_MODE, avoid sending invalid URLs like
  ftp://example.com;type=i if the user specified ftp://example.com without the
  slash.

- Andre Guibert de Bruet pointed out a missing return code check for a
  strdup() that could lead to segfault if it returned NULL. I extended his
  suggest patch to now have Curl_retry_request() return a regular return code
  and better check that.

- Lots of good work by Krister Johansen, mostly related to pipelining:

  Fix SIGSEGV on free'd easy_conn when pipe unexpectedly breaks
  Fix data corruption issue with re-connected transfers
  Fix use after free if we're completed but easy_conn not NULL

Kamil Dudka (13 Aug 2009)
- Changed NSS code to not ignore the value of ssl.verifyhost and produce more
  verbose error messages. Originally reported at:
  https://bugzilla.redhat.com/show_bug.cgi?id=516056

Daniel Stenberg (12 Aug 2009)
- Karl Moerder fixed the Makefile.vc* makefiles to include the new file
  nonblock.c so that they work fine again

- I expanded test 517 with a bunch of more dates that originate from the
  Chrome browser test suite. It turns out most of them get parsed the same
  way.

Daniel Stenberg's avatar
Daniel Stenberg committed
Version 7.19.6 (12 August 2009)

Daniel Stenberg (12 Aug 2009)
- Carsten Lange reported a bug and provided a patch for TFTP upload and the
  sending of the TSIZE option. I don't like fixing bugs just hours before
  a release, but since it was broken and the patch fixes this for him I decided
  to get it in anyway.

Daniel Stenberg (11 Aug 2009)
- Peter Sylvester made the HTTPS test server use specific certificates for
  each test, so that the test suite can now be used to actually test the
  verification of cert names etc. This made an error show up in the OpenSSL-
  specific code where it would attempt to match the CN field even if a
  subjectAltName exists that doesn't match. This is now fixed and verified
  in test 311.

- Benbuck Nason posted the bug report #2835196
  (http://curl.haxx.se/bug/view.cgi?id=2835196), fixing a few compiler
  warnings when mixing ints and bools.

Daniel Fandrich (10 Aug 2009)
- Fixed a memory leak in the FTP code and an off-by-one heap buffer overflow.

Daniel Fandrich (9 Aug 2009)
- Fixed some memory leaks in the command-line tool that caused most of the
  torture tests to fail.

Daniel Stenberg (2 Aug 2009)
- Curt Bogmine reported a problem with SNI enabled on a particular server. We
  should introduce an option to disable SNI, but as we're in feature freeze
  now I've addressed the obvious bug here (pointed out by Peter Sylvester): we
  shouldn't try to enable SNI when SSLv2 or SSLv3 is explicitly selected.
  Code for OpenSSL and GnuTLS was fixed. NSS doesn't seem to have a particular
  option for SNI, or are we simply not using it?

- Scott Cantor posted the bug report #2829955
  (http://curl.haxx.se/bug/view.cgi?id=2829955) mentioning the recent SSL cert
  verification flaw found and exploited by Moxie Marlinspike. The presentation
  he did at Black Hat is available here:
  https://www.blackhat.com/html/bh-usa-09/bh-usa-09-archives.html#Marlinspike

  Apparently at least one CA allowed a subjectAltName or CN that contain a
  zero byte, and thus clients that assumed they would never have zero bytes
  were exploited to OK a certificate that didn't actually match the site. Like
  if the name in the cert was "example.com\0theatualsite.com", libcurl would
  happily verify that cert for example.com.

  libcurl now better uses the length of the extracted name, not using the zero
  termination for getting the string length.

  This fixing only made and needed in OpenSSL interfacing code.
- Tanguy Fautre pointed out that OpenSSL's function RAND_screen() (present
  only in some OpenSSL installs - like on Windows) isn't thread-safe and we
  agreed that moving it to the global_init() function is a decent way to deal
  with this situation.

- Alexander Beedie provided the patch for a noproxy problem: If I have set
  CURLOPT_NOPROXY to "*", or to a host that should not use a proxy, I actually
  could still end up using a proxy if a proxy environment variable was set.

Loading full blame...