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

Daniel Stenberg's avatar
Daniel Stenberg committed
                                  Changelog

- Alexander Krasnostavsky made the CURLOPT_FTP_CREATE_MISSING_DIRS option work
  fine even for third party transfers.

- runekl at opoint.com found out (and provided a fix) that libcurl leaked
  memory for cookies with the "max-age" field set.
Gisle Vanem's avatar
 
Gisle Vanem committed

Gisle Vanem's avatar
 
Gisle Vanem committed
- Issue 50 in TODO-RELEASE; Added Traian Nicolescu's patches for threaded
  resolver on Windows. Plugged some potential handle and memory leaks.

Daniel (14 October 2004)
- Eric Vergnaud pointed out that libcurl didn't treat ?-letters in the user
  name and password fields properly in URLs, like
  ftp://us?er:pass?word@site.com/. Added test 191 to verify the fix.

Daniel Stenberg's avatar
Daniel Stenberg committed
Daniel (11 October 2004)
- libcurl now uses SO_NOSIGPIPE for systems that support it (Mac OS X 10.2 or
  later is one) to inhibit the SIGPIPE signal when writing to a socket while
  the peer dies. The same effect is provide by the MSG_NOSIGNAL parameter to
  send() on other systems. Alan Pinstein verified the fix.

Daniel Stenberg's avatar
Daniel Stenberg committed
Daniel (10 October 2004)
- Systems with 64bit longs no longeruse strtoll() or our strtoll- replacement
  to parse 64 bit numbers. strtol() works fine. Added a configure check to
  detect if [constant]LL works and if so, use that in the strtoll replacement
  code to work around compiler warnings reported by Andy Cedilnik.

Gisle Vanem's avatar
 
Gisle Vanem committed
Gisle (6 October 2004)
- For USE_LIBIDN builds: Added Top-Level-Domain (TLD) check of host-name
  used in fix_hostname(). Checks if characters in 'host->name' (indirectly
  via 'ace_hostname') are legal according to the TLD tables in libidn.

Daniel Stenberg's avatar
Daniel Stenberg committed
Daniel (6 October 2004)
- Chih-Chung Chang reported that if you use CURLOPT_RESUME_FROM and enabled
  CURLOPT_FOLLOWLOCATION, libcurl reported error if a redirect happened even
  if the new URL would provide the resumed file. Test case 188 added to verify
  the fix (together with existing test 99).

Daniel Stenberg's avatar
Daniel Stenberg committed
- Dan Fandrich fixed a configure flaw for systems that need both nsl and socket
  libs to use gethostbyname().

- Removed tabs and trailing whitespace from lots of source files.

Daniel Stenberg's avatar
Daniel Stenberg committed
Daniel (5 October 2004)
- Made configure --with-libidn=PATH try the given PATH before the default
  paths to make it possible to override.

- If idna_strerror() is present in libidn, we can use that instead of our
  internal replacement. This function was added by Simon in libidn 0.5.6 and
  is detected by configure.

- It seems basename() on IRIX is in the libgen library and since we don't use
  that, configure finds libgen.h but not basename and then we get a compiler
  error because our basename() replacement doesn't match the proto in
  libgen.h. Starting now, we don't include the file if basename wasn't found
  as well.

Daniel Stenberg's avatar
Daniel Stenberg committed
Daniel (4 October 2004)
- Chris found a race condition resulting in CURLE_COULDNT_RESOLVE_HOST and
  potential crash, in the windows threaded name resolver code.

Daniel (3 October 2004)
- Replaced the use of isspace() in cookie.c with our own version instead since
  we have most data as 'char *' and that makes us pass in negative values if
  there is 8bit data in the string. Changing to unsigned causes too much
  warnings or too many required typecasts to the normal string functions.
  Harshal Pradhan identified this problem.

Daniel Stenberg's avatar
Daniel Stenberg committed
- Bertrand Demiddelaer found a case where libcurl could read already freed
  data when CURLOPT_VERBOSE is used and a (very) persistent connection. It
  happened when the dns cache entry for the connection was pruned while the
  connection was still alive and then again re-used. We worked together on
  this fix.

- Gisle Vanem provided code that displays an error message when the (libidn
  based) IDN conversion fails. This is really due to a missing suitable
  function in the libidn API that I hope we can remove once libidn gets a
  function like this.

- Aleksandar Milivojevic reported a problem in the Redhat bugzilla (see
  https://bugzilla.redhat.com/bugzilla/show_bug.cgi?id=134133) and not to
  anyone involved in the curl project! This happens when you try to curl a
  file from a proftpd site using SSL. It seems proftpd sends a somewhat
  unorthodox response code (232 instead of 230). I relaxed the response code
  check to deal with this and similar cases.

- Based on Fedor Karpelevitch's formpost path basename patch, file parts in
  formposts no longer include the path part. If you _really_ want them, you
  must provide your preferred full file name with CURLFORM_FILENAME.

  Added detection for libgen.h and basename() to configure. My custom
  basename() replacement function for systems without it, might be a bit too
  naive...

  Updated 6 test cases to make them work with the stripped paths.

- Larry Campbell added CURLINFO_OS_ERRNO to curl_easy_getinfo() that allows an
  app to retrieve the errno variable after a (connect) failure. It will make
  sense to provide this for more failures in a more generic way, but let's
  start like this.

- Günter Knauf and Casey O'Donnell worked out an extra #if condition for the
  curl/multi.h header to work better in winsock-using apps.

- Jean-Philippe Barrette-LaPierre made buildconf run better on Mac OS X by
  properly using glibtoolize instead of plain libtoolize. (This is made if
  glibtool was found and used instead of plain libtool.)

Daniel (29 September 2004)
- Bertrand Demiddelaer fixed curl_easy_reset() so that it doesn't mistakingly
  enable the progress meter.

Daniel Stenberg's avatar
Daniel Stenberg committed
Daniel (28 September 2004)
- "Mekonikum" found out that if you built curl without SSL support, although
  your current SSL installation supports Engine, the compile fails.

Daniel (27 September 2004)
- When --with-ssl=PATH is used to the configure script, it no longer uses
  pkg-config to figure out extra details. That is now only done if no PATH is
  included or if SSL is checked for by default without the --with-ssl option.

Daniel (25 September 2004)
- Peter Sylvester pointed out that CURLOPT_SSLENGINE couldn't even be set to
  NULL when no engine was supported. It can now.

Daniel (22 September 2004)
- Dan Fandrich fixed three test cases to no longer use "localhost" but instead
  use "127.0.0.1" to avoid requiring that localhost resolves nicely.

- Jean-Claude Chauve fixed an LDAP crash when more than one record was
  retrieved.

Daniel (19 September 2004)
- Andreas Rieke pointed out that when attempting to connect to a host without
  a service on the specified port, curl_easy_perform() didn't properly provide
  an error message in the CURLOPT_ERRORBUFFER buffer.

- Daniel at touchtunes uses the FTP+SSL server "BSDFTPD-SSL from
  http://bsdftpd-ssl.sc.ru/" which accordingly doesn't properly work with curl
  when "AUTH SSL" is issued (although the server responds fine and everything)
  but requires that curl issues "AUTH TLS" instead. See
  http://curl.haxx.se/feedback/display.cgi?id=10951944937603&support=yes

  Introducing CURLOPT_FTPSSLAUTH that allows the application to select which
  of the AUTH strings to attempt first.

- Anonymous filed bug report #1029478 which identified a bug when you 1) used
  a URL without properly seperating the host name and the parameters with a
  slash. 2) the URL had parameters to the right of a ? that contains a slash
  3) curl was told to follow Location:s 4) the request got a response that
  contained a Location: to redirect to "/dir". curl then appended the new path
  on the wrong position of the original URL.

  Test case 187 was added to verify that this was fixed properly.

Daniel Stenberg's avatar
Daniel Stenberg committed
Daniel (11 September 2004)
- Added parsedate.c that contains a rewrite of the date parser currently
Daniel Stenberg's avatar
Daniel Stenberg committed
  provided by getdate.y. The new one is MUCH smaller and will allow us to run
  away from the yacc/bison jungle. It is also slightly lacking in features
  compared to the old one, but it supports parsing of all date formats HTTP
  involves (and a fair bunch of others).
- As found out by Jonas Forsman, curl didn't allow -F to set Content-Type on
  text-parts. Starting now, we can do -F "name=daniel;type=text/extra". Added
  test case 186 to verify.

- Bug report #1025986. When following a Location: with a custom Host: header
  replacement, curl only replaced the Host: header on the initial request
  and didn't replace it on the following ones. This resulted in requests with
  two Host: headers.

  Now, curl checks if the location is on the same host as the initial request
  and then continues to replace the Host: header. And when it moves to another
  host, it doesn't replace the Host: header but it also doesn't make the
  second Host: header get used in the request.

  This change is verified by the two new test cases 184 and 185.

Daniel (8 September 2004)
- Modified the test suite to be able to use and run with customized port
  numbers. This was always intended but never before possible. Now a simple
  change in the runtests.pl script can make all tests use different ports.
  The default ports in use from now on are 8990 to 8993.

Daniel (2 September 2004)
- Minor modification of an SSL-related error message.
Loading full blame...