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

Daniel Stenberg's avatar
Daniel Stenberg committed
                                  Changelog

Daniel Stenberg's avatar
Daniel Stenberg committed
Daniel (24 November)
- Thanks to Mathias Axelsson, I've been able to work on FTPS for libcurl and it
  seems to work somewhat fine now.

  The FTPS stuff is based on RFC2228 and the murray-auth-ftp-ssl draft
  (version 12). There seems to exist quite a few servers that have implemented
  the server side of this.

  We can now use ftps:// URLs to explicitly switch on SSL/TSL for the control
  connection and the data connection (dealing with two SSL connections forced
  me to change a lot of stuff in libcurl).

  Alternatively, and what seems to be the recommended way, we can set the new
  option CURLOPT_FTP_SSL to one of these values:

     CURLFTPSSL_NOPE,   - do not attempt to use SSL
     CURLFTPSSL_TRY     - try using SSL, proceed anyway otherwise
     CURLFTPSSL_CONTROL - SSL for the control connection or fail
     CURLFTPSSL_ALL     - SSL for all communication or fail

  Any failure to set the desired level will make libcurl fail with the error
  code CURLE_FTP_SSL_FAILED. This new option makes a "normal" ftp:// transfer
  attempt to be made securely.

  I've been able to login and get files (passively) from Mathias' server using
  both ftps:// and CURLOPT_FTP_SSL. (I've made 'curl' understand the --ftp-ssl
  option that sets CURLFTPSSL_TRY.)

Daniel Stenberg's avatar
Daniel Stenberg committed
- Gaz Iqbal fixed a range string memory leak.

- Gisle Vanem fixed the Windows builds.

- Added the new FTPSSL defines in curl/curl.h

Daniel Stenberg's avatar
Daniel Stenberg committed
Daniel (20 November)
- Josh Kapell filed bug report #845247 as he found an endless loop when
Daniel Stenberg's avatar
Daniel Stenberg committed
  getting a 407 back from a proxy when no user+password was given.

Daniel (19 November)
- Kevin Roth fixed a progress-bar problem on Windows.

- While working with Nicolas Croiset's bug report #843739, I noticed two minor
  problems related to ftp partial downloads: if a partial transfer is
  detected, we must close the connection as we cannot know in what state it is
  anymore. This looks like a ProFTPD bug:
  http://curl.haxx.se/mail/lib-2003-11/0079.html

Daniel (17 November)
- Maciej W. Rozycki made the script use a cache variable for the writable argv
  test. This way, the default can be overridden better (for cross-compiles
  etc)

Daniel Stenberg's avatar
Daniel Stenberg committed
Daniel (15 November)
- Mathias Axelsson found out libcurl sometimes freed the server certificate
  twice, leading to crashes!

Daniel (14 November)
- Siddhartha Prakash Jain found a case with a bad resolve that we didn't
  properly bail out from, when using ares.

Daniel (13 November)
- Default Content-Type for parts in multipart formposts has changed to
  "application/octet-stream".  This seems more appropriate, and I believe
  mozilla and the likes do this. In the same area: .html files now get
  text/html as Content-Type. (Pointed out in bug report #839806)

- Gisle Vanem corrected the --progress-bar output by doing a flush of the
  output, which apparently makes it look better on at least windows, but
  possibly other platforms too.

- Peter Sylvester identified a problem in the connect code, which made the
  multi interface on a ipv6-enabled solaris box do bad. Test case 504 to be
  specific. I've spent some time to clean-up the Curl_connecthost() function
  now to use less duplicated code for the two different sections: ipv6 and
  ipv4.

Daniel (11 November)
- Added CURLOPT_NETRC_FILE. Use this to tell libcurl which file to use instead
  of trying to find a .netrc in the current user's home directory. The
  existing .netrc file finder is somewhat naive and is far from perfect on
  several platforms that aren't unix-style. If this option isn't set when
  CURLOPT_NETRC is set, the previous approach will still be used.

  The current .netrc check code now also support longer than 256 bytes path
  names.

Daniel (10 November)
- Kang-Jin Lee pointed out that the generated ca-bundle.h file shouldn't be
  written in the source dir if a different build dir is used.

- After Sébastien Willemijns' bug report, we now check the separators properly
  in the 229-reply servers respond on a EPSV command and bail out better if
  the reply string is not RFC2428-compliant.

Daniel (7 November)
- Based on Gisle Vanem's patch, I made curl try harder to get the home
  directory of the current user, in order to find the default .curlrc file.
  We're also considering moving out the HOME-dir code from libcurl, and
  instead have the app pass in the path to the .netrc file (which is the only
  logic left in libcurl that uses the HOME dir). Then curl can use the home
  dir for that purpose too.

- Ralph Mitchell's updated testcurl.sh to the script to take an existing
  directory name and build/run/test curl in there instead of trying to update
  from CVS. Using this approach, the script can now be used to test daily
  tarballs etc.

- Gisle Vanem added a "resource file" to the Windows DLL builds, to contain
  information such as version number, library name, copyright info etc.

Daniel Stenberg's avatar
Daniel Stenberg committed
Daniel (6 November)
- curl checks if the existing libcurl supports things like --ntlm, --negotiate
  and --krb4 and returns error if not.

- I added three new global defines in the curl/curl.h header:
  LIBCURL_VERSION_MAJOR, LIBCURL_VERSION_MINOR and LIBCURL_VERSION_PATCH. They
  are the three numbers in the library's version number, separated for easier
  usage. 'maketgz' was updated accordingly to generate these numbers properly
  when building release-archives.

- Uninitialized variable fix, reported by both Marty Kuhrt and Benjamin
  Gerard.
Daniel Stenberg's avatar
Daniel Stenberg committed

- Matt Veenstra provided build files to build libcurl as a "framework" under
  Mac OS X. See the lib/libcurl.framework.make for details.

- Removed the defines of TRUE and FALSE from the curl/curl.h header file.
  They're not in our name space so we should not fiddle with them.

Daniel (5 November)
- Replaced the man page to HTML converter program with a new one: roffit.
  Makes nicer web pages.
Daniel Stenberg's avatar
Daniel Stenberg committed

Daniel Stenberg's avatar
Daniel Stenberg committed
Daniel (4 November)
- Troels Walsted Hansen fixed the MSVC makefiles to let them build curl fine
  on Windows.

- Kevin Roth corrected the cygwin package generator and spell-fixed the
  comment in the ca-bundle.h file.

Daniel Stenberg's avatar
Daniel Stenberg committed
Version 7.10.8 (1 November 2003)

Daniel Stenberg's avatar
Daniel Stenberg committed
Daniel (31 October)
Daniel Stenberg's avatar
Daniel Stenberg committed
- Assume that MDTM on an FTP server returns the timestamp using the UTC time
  zone. This changes the time CURLINFO_FILETIME returns for a given file over
  FTP, and will change existing uses of CURLOPT_TIMECONDITION. It will make
  the functionality more similar to how the HTTP one is already working.

Daniel Stenberg's avatar
Daniel Stenberg committed
- Command line options that take numerical parameters (such as -y, -Y, -C etc)
Daniel Stenberg's avatar
Daniel Stenberg committed
  now report error and exit if the parameter isn't truly a number greater than
  or equal to zero. This helps users to notice bad usage earlier. Before, when
  a user forgot or missed to add a numerical parameter to an option, the
  command line parser would simply "eat" the following option and it would
  cause great confusion.
Daniel (30 October)
- David Hull made libcurl deal with NOBODY and HEADER for file:// the same way
  it already does for FTP: it provides HTTP-looking headers that provide info
  only about the file, without doing the actual transfer. The curl tool then
  lets --head do this.

Daniel (29 October)
- runtests.pl now checks for and use valgrind if present. It will redirect the
  valgrind results in log/valgrind[num] but it currently doesn't scan that
  file for any errors or anything, that is still only made manually.

- David Hull made the file: URL parser also accept the somewhat sloppy file
  syntax: file:/path. I added test case 203 to verify this.

Daniel (28 October)
- Dan C tracked down yet another weird behavior in the glibc gethostbyname_r()
  function for some specific versions (reported on 2.2.5 and 2.1.1), and
  provided a fix. On Linux machines with these glibc versioins, non-ipv6
  builds of libcurl would often fail to resolve perfectly resolvable host
  names.

Daniel (26 October)
- James Bursa found out that curl_msnprintf() could write the trailing
  zero-byte outside its given buffer size. This could happen if you generated
  a very long error message as then libcurl would overwrite the ERRORBUFFER
  with one byte. Using a non-existing very long local file:// name is one case
  that could make this occur.

Daniel Stenberg's avatar
Daniel Stenberg committed
Daniel (24 October)
Daniel Stenberg's avatar
Daniel Stenberg committed
- David Hull filed bug report #829827. It identified a problem with -C - if
  the full file already was downloaded and thus the server responded with a
  416. libcurl would then wrongly use the Content-Length: header and expect
  that size to get transfer, causing a "hang" until the server closed the
  connection and then an error 18 ("still N bytes data left of the transfer").

  Now we don't return any error at all, but I think libcurl should perhaps
Loading full blame...