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

Daniel Stenberg's avatar
Daniel Stenberg committed
                                  Changelog
Yang Tse (16 Aug 2008)
- Library internal only C preprocessor macros FORMAT_OFF_T and FORMAT_OFF_TU
  remain in use as internal curl_off_t print formatting strings for the internal
  *printf functions which still cannot handle print formatting string directives
  such as "I64d", "I64u", and others available on MSVC, MinGW, Intel's ICC, and
  other DOS/Windows compilers.

Daniel Fandrich (15 Aug 2008)
- Added test case 1063 to test invalid long file ranges with file: URLs and
  1064 to test multiple http PUTs.

- Added test case 1065 to test a PUT with a single file but two URLs. This
  was discovered to be problematic while investigating an incident reported by
  Von back in May.  curl in this case doesn't include a Content-Length: or
  Transfer-Encoding: chunked header which is illegal. This test case is
  added to DISABLED until a solution is found.

Yang Tse (15 Aug 2008)
- C preprocessor macros used internally and equally available externally which
  aid in the use of the curl_off_t data type are named: CURL_FORMAT_CURL_OFF_T,
  CURL_FORMAT_CURL_OFF_TU, CURL_SIZEOF_CURL_OFF_T, CURL_SUFFIX_CURL_OFF_T,
  CURL_SUFFIX_CURL_OFF_TU, CURL_OFF_T_C and CURL_OFF_TU_C.

Yang Tse (13 Aug 2008)
- The size of long is a build time characteristic and as such it is now recorded
  in curlbuild.h as CURL_SIZEOF_LONG. Definition now done from configure process
  and in CVS curlbuild.h.dist for non-configure systems.

Daniel Fandrich (12 Aug 2008)
- Fixed a buffer overflow problem in Curl_proxyCONNECT that could occur
  when a server responded with long headers and data.  Luckily, the buffer
  overflowed into another unused buffer, so no actual harm was done.
  Added test cases 1060 and 1061 to verify.

Daniel Stenberg (12 Aug 2008)
- Andy Tsouladze fixed runtests.pl to not attempt to execute the stunnel
  _directory_ if that happened to appear in the path!

Yang Tse (12 Aug 2008)
- Added macros for minimum-width signed and unsigned curl_off_t integer
  constants CURL_OFF_T_C and CURL_OFF_TU_C. The clever double helper macro
  used internally to provide its functionality is thanks to Lars Nilsson.
Daniel Fandrich (11 Aug 2008)
- Fixed a boundary condition error in ftp_readresp() whereby a non-terminal
  line of a multiline FTP response whose last byte landed exactly at the end
  of the BUFSIZE-length buffer would be treated as the terminal response
  line.  The following response code read in would then actually be the
  end of the previous response line, and all responses from then on would
  correspond to the wrong command. Test case 1062 verifies this.

- Stop closing a never-opened ftp socket.

Daniel Stenberg (11 Aug 2008)
- Constantine Sapuntzakis filed bug report #2042430
  (http://curl.haxx.se/bug/view.cgi?id=2042430) with a patch. "NTLM Windows
  SSPI code is not thread safe". This was due to libcurl using static
  variables to tell wether to load the necessary SSPI DLL, but now the loading
  has been moved to the more suitable curl_global_init() call.

- Constantine Sapuntzakis filed bug report #2042440
  (http://curl.haxx.se/bug/view.cgi?id=2042440) with a patch. He identified a
  problem when using NTLM over a proxy but the end-point does Basic, and then
  libcurl would do wrong when the host sent "Connection: close" as the proxy's
  NTLM state was erroneously cleared.

Yang Tse (11 Aug 2008)
- Added missing signed and unsigned curl_off_t integer constant suffixes for
  internal and external use. CURL_SUFFIX_CURL_OFF_T, CURL_SUFFIX_CURL_OFF_TU.

Daniel Fandrich (7 Aug 2008)
- Fixed an uninitialized variable in multi_runsingle() that could cause a
  request to prematurely end.

- Added test1059 to test the FTP proxy tunnel problem fixed July 11.

Yang Tse (7 Aug 2008)
- Added curlbuild.h and curlrules.h header files to libcurl's public headers.
  File curlbuild.h is a generated file on configure-capable systems. This is
  a first step towards configure-based info in public headers. Currently only
  used to provide support for a curl_off_t data type which is not gated to
  off_t. Further details are documented inside these mentioned header files.

- Fix CURL_CHECK_DEF so that when the expansion of the preprocessor symbol
  results in a set of double-quoted strings, this macro will now return an
  expansion which consists of a single double-quoted string as the result of
  concatenating all of them.

- Skip data type check in DO_CURL_OFF_T_CHECK macro when argument is empty.

- Adjusted testcurl.pl to copy checked out curlbuild.h.dist as curlbuild.h
  for non-configure targets when the host system doesn't run buildconf.bat.

- Prevent buildconf from removing 'Makefile' and 'missing' files. This would
  blow away our CVS checked files 'missing' and 'hiper/Makefile'.

- Remove adjustment done to testcurl.pl to verify if change introduced by
  Guenter Knauf in lib/Makefile.netware is enough to get the netware autobuilds
  going again.

Yang Tse (5 Aug 2008)
- Changes done to buildconf script. Validate that autom4te and autoconf, as
  well as aclocal and automake, versions match. Improve removal of previous
  run generated files. Remove verbose debug logging of aclocal on Solaris.

Daniel Stenberg (5 Aug 2008)
- Yehoshua Hershberg found a problem that would make libcurl re-use a
  connection with the multi interface even if a previous use of it caused a
  CURLE_PEER_FAILED_VERIFICATION to get returned. I now make sure that failed
  SSL connections properly close the connections.

Daniel Stenberg (4 Aug 2008)
- Test cases 1051, 1052 and 1055 were added by Daniel Fandrich on July 30 and
  proved how PUT and POST with a redirect could lead to a "hang" due to the
  data stream not being rewound properly when it had to in order to get sent
  properly (again) to the subsequent URL. This is now fixed and these test
  cases are no longer disabled.

Yang Tse (4 Aug 2008)
- Autoconf 2.62 has changed the behaviour of the AC_AIX macro which we use.
  Prior versions of autoconf defined _ALL_SOURCE if _AIX was defined. 2.62
  version of AC_AIX defines _ALL_SOURCE and other four preprocessor symbols
  no matter if the system is AIX or not. To keep the traditional behaviour,
  and an uniform one across autoconf versions AC_AIX is replaced with our
  own internal macro CURL_CHECK_AIX_ALL_SOURCE.

- Test case 1041 (added by Daniel Fandrich July 14th) proved a bug where PUT
  with -C - sent garbage in the Content-Range: header. I fixed this problem by
  making sure libcurl always sets the size of the _entire_ upload if an app
  attemps to do resumed uploads since libcurl simply cannot know the size of
  what is currently at the server end. Test 1041 is no longer disabled.

Yang Tse (2 Aug 2008)
- No longer test availability of the gdi32 library, nor use it for linking, even
  when we have been doing this since revision 1.47 of configure.ac 4 years and
  5 months ago when cross-compiling a Windows target. We actually don't use any
  function from the Windows GDI (Graphics Device Interface) related with drawing
  or graphics-related operations.

Daniel Fandrich (1 Aug 2008)
- Added support for --append on SFTP uploads. Unfortunately, OpenSSH doesn't
  support this so it goes untested.

Yang Tse's avatar
Yang Tse committed
Yang Tse (1 Aug 2008)
- Configure process now checks if the preprocessor _REENTRANT symbol is already
  defined. If it isn't currently defined a set of checks are performed to test
  if its definition is required to make visible to the compiler a set of *_r
  functions. Finally, if _REENTRANT is already defined or needed it takes care
  of making adjustments necessary to ensure that it is defined equally for the
  configure process tests and generated config file.

- Removed definition of CURL_CHECK_WORKING_RESOLVER from acinclude.m4 it has
  not been in use since revision 1.81 of configure.in 6 years, 9 months ago.

Daniel Fandrich (31 Jul 2008)
- Fixed parsing of an IPv6 proxy address to support a scope identifier,
  as well as IPv4 addresses in IPv6 format. Also, better handle the case
  of a malformatted IPv6 address (avoid empty and NULL strings).

- Fixed a problem with any FTP URL or any URLs containing an IPv6 address
  being mangled when passed to proxies when CURLOPT_PORT is also set
  (reported by Pramod Sharma).

- User names embedded in proxy URLs without a password were parsed
  incorrectly--the host name is treated as part of the user name and the
  port number becomes the password.  This can be observed in test 279
  (was KNOWN_ISSUE #54).

- Phil Blundell added the CURLOPT_ADDRESS_SCOPE option, as well as adjusted
  the URL parser to allow numerical IPv6-addresses to be specified with the
  scope given, as per RFC4007 - with a percent letter that itself needs to be
  URL escaped. For example, for an address of fe80::1234%1 the HTTP URL is:
- PHP's bug report #43158 (http://bugs.php.net/bug.php?id=43158) identifies a
  true bug in libcurl built with OpenSSL. It made curl_easy_getinfo() more or
  less always return 0 for CURLINFO_SSL_VERIFYRESULT because the function that
  would set it to something non-zero would return before the assign in almost
  all error cases. The internal variable is now set to non-zero from the start
  of the function only to get cleared later on if things work out fine.

- Made the curl tool's -w option support the %{ssl_verify_result} variable

Daniel Fandrich (30 Jul 2008)
- Added test cases 1052 through 1055 to test uploading data from files
  during redirects.  Test cases 1052 and 1055 show problems (maybe the same
  root cause as 1051) and are disabled.

- Fixed a couple of buffer overflows in the MS-DOS port of the curl tool.

Loading full blame...