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

Daniel Stenberg's avatar
Daniel Stenberg committed
                                  Changelog

Daniel (16 August 2004)
Daniel Stenberg's avatar
Daniel Stenberg committed
- libcurl now allows a custom "Accept-Encoding:" header override the
  internally set one that gets set with CURLOPT_ENCODING. Pointed out by Alex.

- Roland Krikava found and fixed a cookie problem when using a proxy (the
  path matching was wrong). I added test case 179 to verify that we now do
  right.

Daniel Stenberg's avatar
Daniel Stenberg committed
Daniel (15 August 2004)
- Casey O'Donnell fixed some MSVC makefile targets to link properly.

Daniel (11 August 2004)
- configure now defines _XOPEN_SOURCE to 500 on systems that need it to build
  warning-free (the only known one so far is non-gcc builds on 64bit SGI
  IRIX). (Reverted this change later as it caused compiler errors.)

- the FTP code now includes the server response in the error message when the
  server gives back a 530 after the password is provided, as it isn't
  necessary because of a bad user name or password.

Daniel Stenberg's avatar
Daniel Stenberg committed
Version 7.12.1 (10 August 2004)

Daniel (10 August 2004)
- In OpenSSL 0.9.7d and earlier, ASN1_STRING_to_UTF8 fails if the input is
  already UTF-8 encoded. This made the certificate verification fail if the
  remote server used a certificate with the name UTF-8 encoded.

  Work-around brought by Alexis S. L. Carvalho.

Daniel (9 August 2004)
- I fixed the configure script for krb4 to use -lcom_err as well, as I started
  to get link problems with it unless I did that on my Solaris 2.7 box. I
  don't understand why I started to get problems with this now!

Daniel (5 August 2004)
- Enrico Scholz fixed the HTTP-Negotiate service name to be uppercase as
  reported in bug report #1004105

Daniel (4 August 2004)
- Gisle Vanem provided a fix for the multi interface and connecting to a host
  using multiple IP (bad) addresses.

- Dylan Salisbury made libcurl no longer accept cookies set to a TLD only (it
  previously allowed that on the seven three-letter domains).

Daniel Stenberg's avatar
Daniel Stenberg committed
Daniel (31 July 2004)
- Joel Chen reported that the digest code assumed quotes around the contents a
  bit too much.
Daniel Stenberg's avatar
Daniel Stenberg committed

Daniel (28 July 2004)
- Bertrand Demiddelaer fixed the host name to get setup properly even when a
  connection is re-used, when a proxy is in use. Previously the wrong Host:
  header could get sent when re-using a proxy connection to a different target
  host.

- Fixed Brian Akins' reported problems with duplicate Host: headers on re-used
  connections. If you attempted to replace the Host: header in the second
  request, you got two such headers!

- src/Makefile.am now includes the Makefile.inc file to get info about files

Daniel Stenberg's avatar
Daniel Stenberg committed
Daniel (26 July 2004)
- Made "curl [URL] -o name#2" work as expected. If there's no globbing for the
  #-number, it will simply be used as #2 in the file name.

Daniel Stenberg's avatar
Daniel Stenberg committed
- Bertrand Demiddelaer fixed testing with valgrind 2.1.x and added two missing
  newlines in the cookie informationals.

Daniel (24 July 2004)
- I fixed the autobuilds with ares, since they now need to have buildconf run
  in the ares dir before the configure script is run.

- Added Casey O'Donnell's curl_easy_reset() function. It has a proto in
  curl/curl.h but we have no man page yet.

Daniel Stenberg's avatar
Daniel Stenberg committed
Daniel (20 July 2004)
- Added buildconf and buildconf.bat to the release archives, since they are
  handy for rebuilding curl when using a daily snapshot (and not a pure CVS
  checkout).

Daniel (16 July 2004)
- As suggested by Toby Peterson, libcurl now ignores Content-Length data if the
  given size is a negative number. Test case 178 verifies this.

Daniel Stenberg's avatar
Daniel Stenberg committed
Daniel (14 July 2004)
- Günter Knauf has made the Netware builds do without the config-netware.h
  files, so they are now removed from the dist packages.

- Günter Knauf made curl and libcurl build with Borland again.

- Andres Garcia fixed the common test 505 failures on windows.

Daniel (6 July 2004)
- Andrés García found out why the windows tests failed on file:// "uploads".

Daniel Stenberg's avatar
Daniel Stenberg committed
Daniel (2 July 2004)
- Andrés García reported a curl_share_cleanup() crash that occurs when no
  lock/unlock callbacks have been set and the share is cleaned up.

Daniel Stenberg's avatar
Daniel Stenberg committed
Daniel (1 July 2004)
- When using curl --trace or --trace-ascii, no trace messages that were sent
  by curl_easy_cleanup() were included in the trace file. This made the
  message "Closing connection #0" never appear in trace dumps.
  
Daniel (30 June 2004)
- Niels van Tongeren found that setting CURLOPT_NOBODY to TRUE doesn't disable
  a previously set POST request, making a very odd request get sent (unless
  you disabled the POST) a HEAD request with a POST request-body. I've now
  made CURLOPT_NOBODY enforce a proper HEAD. Added test case 514 for this.

Daniel (29 June 2004)
- Günter Knauf made the testcurl.pl script capable of using a custom setup
  file to easier run multiple autobuilds on the same source tree.

- Gisle fixed the djgpp build and fixed a memory problem in some of the
  reorged name resolved code.

- Fixed code to allow connects done using the multi interface to attempt the
  next IP when connecting to a host that resolves to multiple IPs and a
  connect attempt fails.
  
- Based on Rob Stanzel's bug report #979480, I wrote a configure check that
  checks if poll() can be used to wait on NULL as otherwise select() should be
  used to do it. The select() usage was also fixed according to his report.

  Mac OS X 10.3 says "poll() functionality for Mac OS X is implemented via an
  emulation layer on top of select(), not in the kernel directly. It is
  recommended that programs running under OS X 10.3 prefer select() over
  poll(). Configure scripts should look for the _POLL_EMUL_H_ define (instead
  of _POLL_H_ or _SYS_POLL_H_) and avoid implementations where poll is not
  implemented in the kernel."

  Yes, we can probably use select() on most platforms but today I prefered to
  leave the code unaltered.

Daniel (24 June 2004)
Daniel Stenberg's avatar
Daniel Stenberg committed
- The standard curl_version() string now only includes version info about
  involved libraries and not about particular features. Thus it will no longer
  include info about ipv6 nor GSS. That info is of course still available in
  the feature bitmask curl_version_info() offers.

- Replaced all occurances of sprintf() with snprintf(). This is mostly because
  it is "A Good Thing" rather than actually fixing any known problem. This
  will help preventing future possible mistakes to cause buffer overflows.

- Major reorganization in the host resolve code (again). This time, I've
  modified the code to now always use a linked list of Curl_addrinfo structs
  to return resolved info in, no matter what resolver method or support that
  is available on the platform. It makes it a lot easier to write code that
  uses or depends on resolved data.

  Internally, this means amongst other things that we can stop doing the weird
  "increase buffer size until it works" trick when resolving hosts on
  ipv4-only with gethostbyname_r(), we support socks even on libcurls built
  with ipv6 enabled (but only to socks servers that resolve to an ipv4
  address) and we no longer deep-copy or relocate hostent structs (we create
  Curl_addrinfo chains instead).

  The new "hostent to Curl_addrinfo" converter function is named Curl_he2ai()
  and is slightly naive and simple, yet I believe it is functional enough to
  work for libcurl.

Daniel Stenberg's avatar
Daniel Stenberg committed
- David Cohen pointed out that RFC2109 says clients should allow cookies to
  contain least 4096 bytes while libcurl only allowed 2047. I raised the limit
  to 4999 now and made the used buffer get malloc()ed instead of simply
  allocated on stack as before. Extended test case 46 to include a cookie with
  very huge content to verify the fix.

- Günter Knauf fixed getdate.y to remove a few warnings. I removed the
  ifdef'ed test we never ever use anyway.

- Gisle Vanem fixed the certificate wildcard checks to support a '*'-letter
  anywhere in the wildcard string, support multiple '*'-letters in the
  wildcard and to allow the '*'-letter to match a string that includes a dot.

Daniel (21 June 2004)
- testcurl.sh is now removed completely, tests/testcurl.pl is the script to
  use when autobuilding curl!

- Kjetil Jacobsen brought my attention to the fact that you cannot properly
  abort an upload with the readfunction callback, since returning 0 or -1 only
  stops the upload and libcurl will continue waiting for downloaded data and
  the server often waits for the rest of the upload data to arrive.

  Thus, I've now added the ability for read callbacks to return
  CURL_READFUNC_ABORT to abort an upload from a read callback. This will stop
  the transfer immediately with a CURLE_ABORTED_BY_CALLBACK return code.

  Test case 513 was added to verify that it works. I had to improve the test
  HTTP server too to dump the request to a file even when the client
Loading full blame...