]> git.ipfire.org Git - thirdparty/curl.git/commitdiff
moved out the changes from 2004 to CHANGES.2004
authorDaniel Stenberg <daniel@haxx.se>
Tue, 22 Mar 2005 09:23:56 +0000 (09:23 +0000)
committerDaniel Stenberg <daniel@haxx.se>
Tue, 22 Mar 2005 09:23:56 +0000 (09:23 +0000)
CHANGES
CHANGES.2004 [new file with mode: 0644]

diff --git a/CHANGES b/CHANGES
index 76a1a69a34ec2da19b7e2952b4c35cf678c9d2e4..a7a34a8f2981920191015880a311837efa119e77 100644 (file)
--- a/CHANGES
+++ b/CHANGES
@@ -424,1998 +424,3 @@ Daniel (4 January 2005)
 
 Daniel (2 January 2005)
 - Alex Neblett updated the MSVC makefiles slightly.
-
-Daniel (25 December 2004)
-- Removed src/config.h.in from CVS, it is now copied from the (generated)
-  lib/config.h.in instead, as they can very well be the same. This removes a
-  "manual hassle". You may want to re-run buildconf now.
-
-- Werner Koch filed Debian bug report #286794, mentioning that curl contained
-  non-free (by Debian's view) source code. This was Angus Mackay's
-  src/getpass.c source code. I tried to contact him about it to quickly solve
-  this issue, but his email addresses bounce and I got some time "over" and
-  reimplemented the functionality once brought by Angus. We no longer use any
-  of Angus' original code and the new function is much simpler (IMO). Issue
-  solved.
-
-Daniel (24 December 2004)
-- David Shaw added --protocols to curl-config, so that it now lists all
-  protocols libcurl was built to support. --feature no longer lists disabled
-  protocols.
-
-Daniel (23 December 2004)
-- David Shaw fixed the configure --disable-[protocol] variables so that
-  curl-config --feature now works correctly!
-
-Daniel (22 December 2004)
-- Rune Kleveland fixed a minor memory leak for received cookies with the
-  (rare) version attribute set.
-
-- Marcin Konicki provided two configure fixes and a source fix to make curl
-  build out-of-the-box on BeOS.
-
-Daniel (21 December 2004)
-- Added test case 217 that verified CURLINFO_HTTP_CONNECTCODE, and I made the
-  -w option support 'http_connect' to make it easier to verify!
-
-- Fixed lib/select.c include order to build fine on FreeBSD
-
-- Fixed failf()'s reuse of the va_list variable that crashed on FreeBSD.
-  Pointed out by Peter Pentchev.
-
-Version 7.12.3 (20 December 2004)
-
-Daniel (19 December 2004)
-- I investigated our PKCS12 build problem on Solaris 2.7 with OpenSSL 0.9.7e,
-  and it turned out to be the fault of the zlib 1.1.4 headers doing a typedef
-  named 'free_func' and the OpenSSL headers have a prototype that uses
-  'free_func' in one of its arguments. This is why the compile errors out.
-
-  In other words, we need to include the openssl/pkcs12.h header before the
-  zlib.h header and it builds fine. The configure script now checks for this
-  file and it then gets included early in lib/urldata.h.
-
-Daniel (18 December 2004)
-- Samuel Listopad added support for PKCS12 formatted certificates.
-
-- Samuel Listopad fixed -E to support "C:/path" (with forward slash) as well.
-
-Daniel (16 December 2004)
-- Gisle found and fixed a problem in the directory re-use for FTP.
-
-  I added test case 215 and 216 to better verify the functionality.
-
-- Dinar in bug report #1086121, found a file handle leak when a multipart
-  formpost (including a file upload part) was aborted before the whole file
-  was sent.
-
-Daniel (15 December 2004)
-- Tom Lee found out that globbing of strings with backslashes didn't work as
-  you'd expect. Backslashes are such a central part of windows file names that
-  forcing backslashes to have to be escaped with backslashes is a bit too
-  awkward to users. Starting now, you only need to escape globbing characters
-  such as the five letters: "[]{},". Added test case 214 to verify this.
-
-Daniel (14 December 2004)
-- Harshal Pradhan patched a HTTP persistent connection flaw: if the user name
-  and/or password were modified between two requests on a persistent
-  connection, the second request were still made with the first setup!
-
-  I added test case 519 to verify the fix.
-
-Daniel (13 December 2004)
-- Gisle added CURLINFO_SSL_ENGINES to curl_easy_getinfo() to allow an app
-  to list all available crypto ENGINES.
-
-- Gisle fixed bug report #1083542, which pointed out a problem with resuming
-  large file (>4GB) file:// transfers on windows.
-
-Daniel (11 December 2004)
-- Made the test suite HTTP server (sws) capable of using IPv6, and then
-  extended the test environment to support that and also added three test
-  cases (240, 241, 242) that run tests using IPv6. Test 242 uses a URL that
-  didn't work before the 10 dec fix by Kai Sommerfeld.
-
-- Made a failed file:// resume output an error message
-
-- Corrected the CURLE_BAD_DOWNLOAD_RESUME error message in lib/strerror.c
-
-- Dan Fandrich:
-
-  simplified and consolidated the SSL checks in configure and the usage of the
-  defines in lib/setup.h
-
-  provided a first libcurl.pc.in file for pkg-config (but the result is not
-  installed anywhere at this point)
-
-  extended the cross compile section in the docs/INSTALL file
-
-Daniel (10 December 2004)
-- When providing user name in the URL and a IPv6-style IP-address (like in
-  "ftp://user@[::1]/tmp"), the URL parser didn't get the host extracted
-  properly.  Reported and fixed by Kai Sommerfeld.
-
-Daniel (9 December 2004)
-- Ton Voon provided a configure fix that should fix the notorious (mostly
-  reported on Solaris) problem where the size_t check fails due to the SSL
-  libs being found in a dir not searched through by the run-time linker.
-  patch-tracker entry #1081707.
-
-- Bryan Henderson pointed out in bug report #1081788 that the curl-config
-  --vernum output wasn't zero prefixed properly (as claimed in documentation).
-  This is fixed in maketgz now.
-
-Daniel (8 December 2004)
-- Matt Veenstra updated the mach-O framework files for Mac OS X.
-
-- Rene Bernhardt found and fixed a buffer overrun in the NTLM code, where
-  libcurl always and unconditionally overwrote a stack-based array with 3 zero
-  bytes. This is not an exploitable buffer overflow. No need to get alarmed.
-
-Daniel (7 December 2004)
-- Fixed so that the final error message is sent to the verbose info "stream"
-  even if no errorbuffer is set.
-
-Daniel (6 December 2004)
-- Dan Fandrich added the --disable-cookies option to configure to build
-  libcurl without cookie support. This is mainly useful if you want to build a
-  minimalistic libcurl with no cookies support at all. Like for embedded
-  systems or similar.
-
-- Richard Atterer fixed libcurl's way of dealing with the EPSV
-  response. Previously, libcurl would re-resolve the host name with the new
-  port number and attempt to connect to that, while it should use the IP from
-  the control channel. This bug made it hard to EPSV from an FTP server with
-  multiple IP addresses!
-
-Daniel (3 December 2004)
-- Bug report #1078066: when a chunked transfer was pre-maturely closed exactly
-  at a chunk boundary it was not considered an error and thus went unnoticed.
-  Fixed by Maurice Barnum.
-
-  Added test case 207 to verify.
-
-Daniel (2 December 2004)
-- Fixed the CONNECT loop to default timeout to 3600 seconds.
-
-  Added test case 206 that makes CONNECT with Digest.
-
-  Fixed a flaw that prepended "(nil)" to the initial CONNECT rqeuest's user-
-  agent field.
-
-Daniel (30 November 2004)
-- Dan Fandrich's fix for libz 1.1 and "extra field" usage in a gzip stream
-
-- Dan also helped me with input data to create three more test cases for the
-  --compressed option.
-
-Daniel (29 November 2004)
-- I improved the test suite to enable binary contents in the tests (by proving
-  it base64 encoded), like for testing decompress etc. Added test 220 and 221
-  for this purpose. Tests can now also depend on libz to run.
-
-- As reported by Reinout van Schouwen in Mandrake's bug tracker bug 12285
-  (http://qa.mandrakesoft.com/show_bug.cgi?id=12285), when connecting to an
-  IPv6 host with FTP, --disable-epsv (or --disable-eprt) effectively disables
-  the ability to transfer a file. Now, when connected to an FTP server with
-  IPv6, these FTP commands can't be disabled even if asked to with the
-  available libcurl options.
-
-Daniel (26 November 2004)
-- As reported in Mandrake's bug tracker bug 12289
-  (http://qa.mandrakesoft.com/show_bug.cgi?id=12289), curl would print a
-  newline to "finish" the progress meter after each redirect and not only
-  after a completed transfer.
-
-Daniel (25 November 2004)
-- FTP improvements:
-
-  If EPSV, EPRT or LPRT is tried and doesn't work, it will not be retried on
-  the same server again even if a following request is made using a persistent
-  connection.
-
-  If a second request is made to a server, requesting a file from the same
-  directory as the previous request operated on, libcurl will no longer make
-  that long series of CWD commands just to end up on the same spot. Note that
-  this is only for *exactly* the same dir. There is still room for improvements
-  to optimize the CWD-sending when the dirs are only slightly different.
-
-  Added test 210, 211 and 212 to verify these changes. Had to improve the
-  test script too and added a new primitive to the test file format.
-
-Daniel (24 November 2004)
-- Andrés García fixed the configure script to detect select properly when run
-  with Msys/Mingw on Windows.
-
-Daniel (22 November 2004)
-- Made HTTP PUT and POST requests no longer use HEAD when doing multi-pass
-  auth negotiation (NTLM, Digest and Negotiate), but instead use the request
-  keyword "properly". Details in lib/README.httpauth. This also introduces
-  CURLOPT_IOCTLFUNCTION and CURLOPT_IOCTLDATA, to be used by apps that use the
-  "any" auth alternative as then libcurl may need to send the PUT/POST data
-  more than once and thus may need to ask the app to "rewind" the read data
-  stream to start.
-
-  See also the new example using this: docs/examples/anyauthput.c
-
-- David Phillips enhanced test 518. I made it depend on a "feature" so that
-  systems without getrlimit() won't attempt to test 518. configure now checks
-  for getrlimit() and setrlimit() for this test case.
-
-Daniel (18 November 2004)
-- David Phillips fixed libcurl to not crash anymore when more than FD_SETSIZE
-  file descriptors are in use. Test case 518 added to verify.
-
-Daniel (15 November 2004)
-- To test my fix for the CURLINFO_REDIRECT_TIME bug, I added time_redirect and
-  num_redirects support to the -w writeout option for the command line tool.
-
-- Wojciech Zwiefka found out that CURLINFO_REDIRECT_TIME didn't work as
-  documented.
-
-Daniel (12 November 2004)
-- Gisle Vanem modigied the MSVC and Netware makefiles to build without
-  libcurl.def
-
-- Dan Fandrich added the --disable-crypto-auth option to configure to allow
-  libcurl to build without Digest support. (I figure it should also explicitly
-  disable Negotiate and NTLM.)
-
--                 *** Modified Behaviour Alert ***
-
-  Setting CURLOPT_POSTFIELDS to NULL will no longer do a GET.
-
-  Setting CURLOPT_POSTFIELDS to "" will send a zero byte POST and setting
-  CURLOPT_POSTFIELDS to NULL and CURLOPT_POSTFIELDSIZE to zero will also make
-  a zero byte POST. Added test case 515 to verify this.
-
-  Setting CURLOPT_HTTPPOST to NULL makes a zero byte post. Added test case 516
-  to verify this.
-
-  CURLOPT_POSTFIELDSIZE must now be set to -1 to signal "we don't know".
-  Setting it to zero simply says this is a zero byte POST.
-
-  When providing POST data with a read callback, setting the size up front
-  is now made with CURLOPT_POSTFIELDSIZE and not with CURLOPT_INFILESIZE.
-
-Daniel (11 November 2004)
-- Dan Fandrich added --disable-verbose to the configure script to allow builds
-  without verbose strings in the code, to save some 12KB space. Makes sense
-  only for systems with very little memory resources.
-
-- Jeff Phillips found out that a date string with a year beyond 2038 could
-  crash the new date parser on systems with 32bit time_t. We now check for
-  this case and deal with it.
-
-Daniel (10 November 2004)
-- I installed Heimdal on my Debian box (using the debian package) and noticed
-  that configure --with-gssapi failed to create a nice build. Fixed now.
-
-Daniel (9 November 2004)
-- Gisle Vanem marked all external function calls with CURL_EXTERN so that now
-  the Windows, Netware and other builds no longer need libcurl.def or similar
-  files.
-
-Daniel (8 November 2004)
-- Made the configure script check for tld.h if libidn was detected, since
-  libidn 0.3.X didn't have such a header and we don't work with anything
-  before libidn 0.4.1 anyway! Suse 9.1 apparently ships with a 0.3.X version
-  of libidn which makes the curl 7.12.2 build fail. Jean-Philippe
-  Barrette-LaPierre helped pointing this out.
-
-- Ian Gulliver reported in debian bug report #278691: if curl is invoked in an
-  environment where stderr is closed the -v output will still be sent to file
-  descriptor 2 which then might be the network socket handle! Now we have a
-  weird hack instead that attempts to make sure that file descriptor 2 is
-  opened (with a call to pipe()) before libcurl is called to do the transfer.
-  configure now checks for pipe() and systems without pipe don't get the weird
-  hack done.
-
-Daniel (5 November 2004)
-- Tim Sneddon made libcurl send no more than 64K in a single first chunk when
-  doing a huge POST on VMS, as this is a system limitation. Default on general
-  systems is 100K.
-
-Daniel (4 November 2004)
-- Andres Garcia made it build on mingw againa, my --retry code broke the build.
-
-Daniel (2 November 2004)
-- Added --retry-max-time that allows a maximum time that may not have been
-  reached for a retry to be made. If not set there is no maximum time, only
-  the amount of retries set with --retry.
-
-- Paul Nolan provided a patch to make libcurl build nicely on Windows CE.
-
-Daniel (1 November 2004)
-- When cross-compiling, the configure script no longer attempts to use
-  pkg-config on the build host in order to detect OpenSSL compiler options.
-
-Daniel (27 October 2004)
-- Dan Fandrich:
-
-  An improvement to the gzip handling of libcurl. There were two problems with
-  the old version: it was possible for a malicious gzip file to cause libcurl
-  to leak memory, as a buffer was malloced to hold the header and never freed
-  if the header ended with no file contents.  The second problem is that the
-  64 KiB decompression buffer was allocated on the stack, which caused
-  unexpectedly high stack usage and overflowed the stack on some systems
-  (someone complained about that in the mailing list about a year ago).
-
-  Both problems are fixed by this patch. The first one is fixed when a recent
-  (1.2) version of zlib is used, as it takes care of gzip header parsing
-  itself.  A check for the version number is done at run-time and libcurl uses
-  that feature if it's present. I've created a define OLD_ZLIB_SUPPORT that
-  can be commented out to save some code space if libcurl is guaranteed to be
-  using a 1.2 version of zlib.
-
-  The second problem is solved by dynamically allocating the memory buffer
-  instead of storing it on the stack. The allocation/free is done for every
-  incoming packet, which is suboptimal, but should be dwarfed by the actual
-  decompression computation.
-
-  I've also factored out some common code between deflate and gzip to reduce
-  the code footprint somewhat.  I've tested the gzip code on a few test files
-  and I tried deflate using the freshmeat.net server, and it all looks OK. I
-  didn't try running it with valgrind, however.
-
-- Added a --retry option to curl that takes a numerical option for the number
-  of times the operation should be retried. It is retried if a transient error
-  is detected or if a timeout occurred. By default, it will first wait one
-  second between the retries and then double the delay time between each retry
-  until the delay time is ten minutes which then will be the delay time
-  between all forthcoming retries. You can set a static delay time with
-  "--retry-delay [num]" where [num] is the number of seconds to wait between
-  each retry.
-
-Daniel (25 October 2004)
-- Tomas Pospisek filed bug report #1053287 that proved -C - and --fail on a
-  file that was already completely downloaded caused an error, while it
-  doesn't if you don't use --fail! I added test case 194 to verify the fix.
-  Grrr. CURLOPT_FAILONERROR is now added to the list stuff to remove in
-  libcurl v8 due to all the kludges needed to support it.
-
-- Mohun Biswas found out that formposting a zero-byte file didn't work very
-  good. I fixed.
-
-Daniel (19 October 2004)
-- Alexander Krasnostavsky made it possible to make FTP 3rd party transfers
-  with both source and destination being the same host. It can be useful if
-  you want to move a file on a server or similar.
-
-- Guillaume Arluison added CURLINFO_NUM_CONNECTS to allow an app to figure
-  out how many new connects a previous transfer required.
-
-  I added %{num_connects} to the curl tool and added test case 192 and 193
-  to verify the new code.
-
-Daniel (18 October 2004)
-- Peter Wullinger pointed out that curl should call setlocale() properly to
-  initiate the specific language operations, to make the IDN stuff work
-  better.
-
-Version 7.12.2 (18 October 2004)
-
-Daniel (16 October 2004)
-- 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 (16 October 2004)
-- 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 (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 (10 October 2004)
-- Systems with 64bit longs no longer use 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 (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 (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).
-
-- 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 (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 (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 (2 October 2004)
-- 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.
-
-Daniel (1 October 2004)
-- 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.
-
-Daniel (30 September 2004)
-- 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 (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 (16 September 2004)
-- 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 (11 September 2004)
-- Added parsedate.c that contains a rewrite of the date parser currently
-  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).
-
-Daniel (10 September 2004)
-- 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.
-
-Daniel (31 August 2004)
-- David Tarendash found out that curl_multi_add_handle() returned
-  CURLM_CALL_MULTI_PERFORM instead of CURLM_OK.
-
-Daniel (30 August 2004)
-- Make "Proxy-Connection: close" close the current proxy connection, as Roman
-  Koifman found out.
-
-Daniel (24 August 2004)
-- Fixed a getdate problem by post-replacing the getdate.c file after the
-  bison/yacc process to add the fix Harshal Pradhan suggested. The problem
-  caused a crash on Windows when parsing some dates.
-
-Daniel (23 August 2004)
-- Roman Koifman pointed out that libcurl send Expect: 100-continue on POSTs
-  even when told to use HTTP 1.0, which is not correct. Test case 180 and
-  181 verify this.
-
-- Added test case 182 to verify that zero byte transfers call the callback
-  properly.
-
-Daniel (20 August 2004)
-- Alexander Krasnostavsky made the write callback get called even when a zero
-  byte file is downloaded.
-
-Daniel (18 August 2004)
-- Ling Thio pointed out that when libcurl is built ipv6-enabled, it still did
-  reverse DNS lookups when fed with a numerical IP-address (like
-  http://127.0.0.1/), although it doesn't when built ipv6-disabled. libcurl
-  should never do reverse lookups.
-
-Daniel (17 August 2004)
-- Kjetil Jacobsen noticed that when transferring a file:// URL pointing to an
-  empty file, libcurl would return with the file still open.
-
-- Alexander Krasnostavsky pointed out that the configure script needs to define
-  _THREAD_SAFE for AIX systems to make libcurl built really thread-safe.
-
-  Also added a check for the xlc compiler on AIX, and if that is detect we use
-  the -qthreaded compiler option
-
-Daniel (16 August 2004)
-- 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 (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.
-
-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 (31 July 2004)
-- Joel Chen reported that the digest code assumed quotes around the contents a
-  bit too much.
-
-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 (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.
-
-- 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 (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 (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 (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 (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.
-
-Daniel (27 June 2004)
-- 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)
-- 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 (22 June 2004)
-- 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
-  disconnects prematurely.
-
-Daniel (19 June 2004)
-- Luca Alteas provided a test case with a failing curl operation: when we POST
-  to a site with --digest (or similar) set, and the server responded with a 302
-  Location: to the "authprobe" request, it was not treated correctly. We still
-  will behave badly if FOLLOWLOCATION is enabled for this case, but I'm not
-  in the mood to dive into this right now and will leave it as-is for now.
-  Verified my fix with test case 177.
-
-Daniel (18 June 2004)
-- Gisle Vanem's patch that provides more details from the SSL layers (if you
-  use an OpenSSL version that supports it). It also introduces two new types
-  of data that can be sent to the debug callback: CURLINFO_SSL_DATA_IN and
-  CURLINFO_SSL_DATA_OUT.
-
-- With David Byron's test server I could repeat his problem and make sure that
-  POSTing over HTTPS:// with NTLM works fine now. There was a general problem
-  with multi-pass authentication with non-GET operations with CONNECT.
-
-Daniel (16 June 2004)
-- Modified to keep the upload byte counter in an curl_off_t, not an int as
-  before. 32bits is not enough. This is most likely the bug Jean-Louis Lemaire
-  reported that makes 2GB FTP uploads to report error ("unaligned file sizes")
-  when completed.
-
-Daniel (15 June 2004)
-- Luca Alteas reported a problem that I fixed: if you did a POST with
-  CURLAUTH_DIGEST set but the server didn't require any authentication,
-  libcurl would repeatedly send HEAD lots of times until it gives up. This was
-  actually the case for all multi-pass authentications. Added test case 174,
-  175 and 176 to verify this.
-
-Daniel (14 June 2004)
-- Multipart formposts uploading files no longer inserts the files themselves
-  into the huge prebuilt chunk. This enables libcurl to formpost files that is
-  larger than the amount of system memory. When the file given is passed on
-  stdin, libcurl still uses the old method of reading the full fill before the
-  upload takes place. This approach was selected in order to not alter the
-  behavior for existing applications, as when using stdin libcurl can't know
-  the size of the upload and chunked transfer-encoding can only be used on
-  HTTP 1.1 servers.
-
-Daniel (13 June 2004)
-- Gisle found out that we did wildcard cert name checks wrong, so that parts
-  of the check wrongly was case sensitive.
-
-Daniel (11 June 2004)
-- Tim Sneddon brought a minor VMS fix to make curl build properly on his VMS
-  machine. He also had some interesting libcurl patches... they might be able
-  to do in a slightly nicer way. Discussions are in progress.
-
-Daniel (10 June 2004)
-- Gisle Vanem brought code cleanupsm better verbose output and better connect
-  timeout handling when attempting to connect to a host that resolves to
-  multiple IP addresses.
-
-- Steven Bazyl and Seshubabu Pasam pointed out a bug on win32 when freeing the
-  path after a file:// transfer.
-
-Daniel (9 June 2004)
-- Alexander Krasnostavsky made 'configure --disable-http' work to build libcurl
-  without HTTP support. I added a new return code for curl_formadd() in case
-  libcurl is built with HTTP disable: CURL_FORMADD_DISABLED.
-
-- Alexander Krasnostavsky pointed out a missing file in the generated
-  curllib.dsp file, and now people building with this should get a libcurl.lib
-  file generated as it used to do before we generated this file.
-
-Daniel (8 June 2004)
-- Marty Kuhrt fixed a minor build problem for VMS.
-
-Daniel (7 June 2004)
-- Reverted the configure check from the 4th since it obviously didn't work.
-  Remade it in a different manner that hopefully works better.
-
-Daniel (4 June 2004)
-- Günter Knauf brought patches to make curl build fine on NetWare again.
-
-- Made the configure checks for strerror_r() not exit the configure script
-  when built for cross-compiling.
-
-Daniel (3 June 2004)
-- Chris Gaukroger pointed out that 'make test' attempts to run the tests even
-  if curl is built cross-compiled. I've now made it output a short message
-  instead, saying it isn't possible to do.
-
-- Alexander Krasnostavsky brought FTP 3rd party transfer support to libcurl.
-  You can now use libcurl to transfer files between two remote hosts using
-  FTP. There are a bunch of new options to control this with:
-   CURLOPT_SOURCE_HOST
-   CURLOPT_SOURCE_USERPWD
-   CURLOPT_SOURCE_PATH
-   CURLOPT_SOURCE_PORT
-   CURLOPT_PASV_HOST
-   CURLOPT_SOURCE_PREQUOTE
-   CURLOPT_SOURCE_POSTQUOTE
-
-  (They still remain to be documented properly in the curl_easy_setopt man
-  page.)
-
-  When using this, the ordinary CURLOPT_URL specifies the target URL, and you
-  specify the source data with these additional options. ftp3rdparty.c is a
-  new example source code showing how to use this.
-
-- Vincent Bronner fixed the HTTP Digest code to use the proxy user name and
-  password when doing proxy authentication, it previously always used the host
-  user name and password!
-
-Daniel (2 June 2004)
-- CURLOPT_UPLOAD and CURLOPT_PUT now do the exact same thing internally, which
-  fixes some old confusions on when which of these should be used and what the
-  differences are.
-
-- Applied Gisle's fixes to make curl build fine with lcc-win32
-
-Version 7.12.0 (2 June 2004)
-
-Daniel (1 June 2004)
-- I clarified the --create-dirs option somewhat in the curl man page.
-
-- Renaud Duhaut corrected the curl_unescape man page.
-
-- David Byron modified one of Massimiliano Ziccardi's recent MSVC makefile
-  changes to now again use the mm lib by default.
-
-Daniel (26 May 2004)
-- Mohun Biswas added release-zlib and debug-zlib targets to the MSVC libcurl
-  Makefile
-
-- David Byron reported a problem with proxy authentication when doing CONNECT,
-  like when accessing HTTPS sites wiht a proxy. This probably broke when I
-  rewrote the auth stuff recently.
-
-- I added fileupload.c in the examples directory, showing how an upload to a
-  file:// URL is made.
-
-Daniel (25 May 2004)
-- Massimiliano Ziccardi updated the MSVC makefiles.
-
-Daniel (24 May 2004)
-- libcurl now supports "uploading" to file:// URLs. Test 204 and 205 were
-  added to verify.
-
-- Simon Josefsson added a idn_free() function in libidn 0.4.5 as a reaction to
-  Gisle's previous mail. We now use this function, and thus we require libidn
-  0.4.5 or later. No earlier version will do.
-
-- Robert D. Young reported that CURLOPT_COOKIEFILE and CURLOPT_COOKIE could
-  not be used both in one request. Fixed it and added test case 172 to verify.
-
-Daniel (21 May 2004)
-- While talking to host a.b.c, libcurl did wrongly not accept cookies that
-  were set to the domain .a.b.c (that is with a dot prefix). This is now fixed
-  and test case 171 verifies it.
-
-Daniel (20 May 2004)
-- Jesse Noller reported that the upload speed info reported by libcurl was
-  wrong. The same was true for the download speed. Fixed now.
-
-Daniel (19 May 2004)
-- David Byron added test case 170 - this used to crash the previous version of
-  curl.
-
-Daniel (17 May 2004)
-- Peter Sylvester's patch that addresses two flaws in the peer certificate
-  name verification:
-  o when multiple common names are used (as in the curl tests), the last name
-    needs to be selected.
-  o allow comparing with encoded values, at least with BMP and ISO latin1
-    encoded T61strings.
-
-- All 191 test cases run through the torture test OK! 'make test-torture' is
-  now available in the root makefile (on configure-based environments).
-
-Daniel (14 May 2004)
-- With a slightly modified ftpserver.pl I've now run almost all tests through
-  with runtests.pl -t. This is goodness!
-
-- Since I have been unable to contact the CVS admins for several months, I've
-  decided that the current CVS hosting was not good enough. I've now moved the
-  CVS repo once again, see README for updated cvs checkout instructions.
-
-Daniel (13 May 2004)
-- runtests.pl -t now runs fine all the way to test 100. I believe test case
-  100 fails because of an FTP server problem.
-
-Daniel (12 May 2004)
-- General cleanups all over to make libcurl survive and do well when a memory
-  function returns NULL. runtests.pl -t now works fine for the first 26 test
-  cases.
-
-Daniel (11 May 2004)
-- Seshubabu Pasam provided a patch that introduces curl_global_init_mem() -
-  like normal curl_global_init() but allows the app to replace all memory
-  functions with its own set. I modified it slightly.
-
-- Based on Luca Alteas' comments, I modified the curllib.dsp generation code.
-
-Daniel (10 May 2004)
-- Gisle mailed Simon Josefsson (of libidn fame) about the benefits of a
-  separate free()-function by that lib to make sure the memory is freed by the
-  same memory subsystem that allocated it. He responded positively and this
-  will likely cause us to require a newer version of libidn as soon as Simon
-  releases one with such a libidn_free() function.
-
-- James Bursa made runtests.pl's -t option work for any given test case, and I
-  edited to allow -g too. Not even test case 1 worked...
-
-- Luca Altea made the nc= field not use quotes in outgoing HTTP Digest headers.
-
-- Andrés García fixed a problem in the test script that made it fail to
-  recognize our own running HTTP server.
-
-Daniel (7 May 2004)
-- James Bursa fixed the memanalyze.pl script to conder malloc(0) areas OK to
-  free() and he made two failed-resolve error messages use the new display-
-  name instead of the internally-used name.
-
-- Gisle Vanem tried curl with
-  www.etdomenenavnkanmaksimaltinneholdesekstitrebokstaversliksomdette.com
-  which caused problems, and I fixed the single zero byte buffer overwrite
-  that occurred (due to a stupid protocol buffer size and parser).
-
-- Made the lib/curllib.dsp file get generated automaticly when a distribution
-  package is made, with the msvcproj.* files as templates and all
-  win32-sources added. I think this can be made to work better than the always
-  lagging-behind previous approach. I'm not sure this builds a working project
-  file right now though!
-
-Daniel (6 May 2004)
-- Michael Benedict brought a fix that fills in the errorbuffer properly when
-  ares fails to resolve a name for a case not previously dealt with like this.
-
-Daniel (5 May 2004)
-- Joe Halpin fixed the annoying typecast warning in lib/ldap.c
-
-- Gisle Vanem fixes:
-  o memdebug to not access NULL on several places
-  o libcurl.def; curl_formparse is gone.
-  o progress.c; fixed the percent values being trunced to 0.
-  o if2ip.*; constified the 'interface' argument.
-
-- Tor Arntsen reported that many of his autobuilds froze and I found and fixed
-  a problem introduced with the HTTP auth overhaul that could lead to a
-  never-ending internal request-loop due to un-initialized variables!
-
-- Removed several compiler warnings on various compilers/platforms.
-
-Daniel (4 May 2004)
-- curl_formparse() has been removed from the library. It has been marked and
-  mentioned as deprecated for several years.
-
-Daniel (3 May 2004)
-- Rewritten HTTP authentication code. The previous code could not properly
-  deal with the added test cases 167, 168 and 169. I've now rewritten the code
-  to better separate host and proxy authentication and not re-use the same
-  variables as much as before as it proved non working in the more involved
-  cases. All the current tests run OK now, and so do the new ones. The curl
-  tool got a new option named --proxy-digest to enable HTTP Digest
-  authentication with the proxy. I also made the library support it.
-
-- Gisle Vanem made the LDAP code work with wldap32.dll as supplied with
-  Win-98/ME/2000/XP, so no extra .dlls are required when curl/libcurl is used
-  on these Windows versions.
-
-Daniel (30 April 2004)
-- runtests.pl now scans the valgrind log for valgrind-detected memory leaks
-  after each test case if valgrind was found and used.
-
-- I modified the app-code in curl to include the new lib/curlx.h and only
-  access those functions using the curlx_-prefix in preparation for the future
-  removal of several curl_-functions from the public libcurl API.
-
-- Introduced lib/curlx.h as a single header to provide the curlx_-functions
-  to apps.
-
-- Added notices in the man pages for curl_getenv, curl_mprintf, curl_strequal
-  and curl_strnequal that they are subject for removal in a future release.
-  STOP USING THESE FUNCTIONS.
-
-- Mihai Ionescu noticed he couldn't do formposts with whitespace in the file
-  names and yes, I broke that on April 23. Sigh. I fixed it now and added
-  test case 166 to verify it.
-
-- Luca Altea pointed out a mistake left from the Digest patch of yesterday.
-
-Daniel (29 April 2004)
-- Made IDN domains work when sending requsts over HTTP proxy as well. Added
-  test case 165 to verify the functionality.
-
-- Fixed a bug in the new internal host name setup when re-using connections.
-
-- James Bursa found out that curl_easy_duphandle() with ares-built libcurl
-  created a bad handle that would crash in the first name resolve attempt. This
-  is now fixed and test case 512 was added to verify it.
-
-- Luca Altea provided a major HTTP Digest code fix and cleanup. We now follow
-  the Digest RFC a lot better.
-
-- Gisle Vanem made the SSL code use ERR_error_string_n() where applicable.
-
-Daniel (27 April 2004)
-- I remodeled Gisle's IDN code slightly and now we convert both the host name
-  and proxy name to the ACE encoded version to use internally for resolves and
-  cookies etc. They are now using one 'struct hostname' each that keep both
-  the original name and the possibly encoded name. IDN resolves work for me
-  now using ipv6, ipv4 and ares resolving. Even cookies on IDN sites seem to
-  do right. I got some failures at first when CHARSET wasn't set at all which
-  confused libidn completely and it decided by encoding of choice was
-  'ANSI_X3.4-1968'...
-
-- made 'configure --without-libidn' work
-
-Daniel (25 April 2004)
-- Fixed the src/hugehelp.c file to include "setup.h" instead of "config.h" to
-  make the problems with USE_MANUAL on windows go away.
-
-- configure --without-ssl could still wrongly include some OpenSSL info in the
-  Makefiles if pkg-config had info about OpenSSL. Bug #941762 reported by
-  Martin.
-
-- Since we can now build and use quite a large set of 3rd party libraries, I
-  decided I would make configure produce a summary at the end showing what
-  libraries it uses and if not, what option to use to make it use that. I also
-  added some other random info that is nice in a "configure summary" output.
-
-- Applied TommyTam's patch that now make curl work with telnet and stdin
-  properly on Windows.
-
-- The changes for today below were made by me and Gisle Vanem.
-
-  The file previously known as hostip.c has now undergone a huge cleanup and
-  split:
-
-  hostip.c explained
-  ==================
-
-  The main COMPILE-TIME DEFINES to keep in mind when reading the host*.c
-  source file are these:
-
-  CURLRES_IPV6 - this host has getaddrinfo() and family, and thus we use
-  that. The host may not be able to resolve IPv6, but we don't really have to
-  take that into account. Hosts that aren't IPv6-enabled have CURLRES_IPV4
-  defined.
-
-  CURLRES_ARES - is defined if libcurl is built to use c-ares for asynchronous
-  name resolves. It cannot have ENABLE_IPV6 defined at the same time, as
-  c-ares has no ipv6 support. This can be Windows or *nix.
-
-  CURLRES_THREADED - is defined if libcurl is built to run under (native)
-  Windows, and then the name resolve will be done in a new thread, and the
-  supported asynch API will be the same as for ares-builds.
-
-  If any of the two previous are defined, CURLRES_ASYNCH is defined too. If
-  libcurl is not built to use an asynchronous resolver, CURLRES_SYNCH is
-  defined.
-
-  The host*.c sources files are split up like this:
-
-  hostip.c   - method-independent resolver functions and utility functions
-  hostasyn.c - functions for asynchronous name resolves
-  hostsyn.c  - functions for synchronous name resolves
-  hostares.c - functions for ares-using name resolves
-  hostthre.c - functions for threaded name resolves
-  hostip4.c  - ipv4-specific functions
-  hostip6.c  - ipv6-specific functions
-
-  The hostip.h is the single united header file for all this. It defines the
-  CURLRES_* defines based on the config*.h and setup.h defines.
-
-- Added function header comments to many functions in an attempt to better
-  explain the purpose of them all.
-
-- configure --with-libidn is now supported. It makes the configure script
-  check for libidn libs and include files in the prefix path given. If you
-  say --with-libidn=/usr/local, it will check for the lib in /usr/local/lib
-  and the includes in /usr/local/include etc.
-
-- curl_version_info() now returns a struct aged CURLVERSION_THIRD including
-  libidn version info. The string curl_version() returns also includes libidn
-  version info, if available.
-
-Version 7.11.2 (26 April 2004)
-
-Daniel (25 April 2004)
-- Erwin Authried pointed out that configure --disable-manual didn't do right
-  if you already had a src/hugehelp.c source file present (which most people
-  do I guess). It now uses the USE_MANUAL define properly.
-
-Daniel (23 April 2004)
-- Gisle Vanem found and fixed a memory leak when doing (failing) Windows
-  threaded name resolves.
-
-- I also added test case 163 just to make sure -F "var=<file" works fine and
-  can pass on characters such as newlines, carriage-return and tabs.
-
-- When we added test case 162 without adding the necessary requirement field
-  in the test meta data we could see that curl didn't complain if you used
-  --proxy-ntlm even if the underlying libcurl it uses has no NTLM support! I
-  now made it check this first, and it now exists with a "the installed
-  libcurl version doesn't support this" message if it happens again.
-
-Daniel (22 April 2004)
-- David Byron found and fixed a small bug with the --fail and authentication
-  stuff added a few weeks ago.  Turns out that if you specify --proxy-ntlm and
-  communicate with a proxy that requires basic authentication, the proxy
-  properly returns a 407, but the failure detection code doesn't realize it
-  should give up, so curl returns with exit code 0. Test case 162 added to
-  verify the functionality.
-
-- allow newlines in the contents when doing -F "var=[contents]"
-  Robert Marlow reported.
-
-- If a transfer is found out to be only partial, libcurl will now treat that
-  as a problem serious enough to skip the final QUIT command before closing
-  the control connection. To avoid the risk that it will "hang" waiting for
-  the QUIT response. Added test case 161 to verify this.
-
-Daniel (21 April 2004)
-- Modified the heuristics for dealing with the test 160 scenario. When a
-  connection is re-used and nothing at all is received from it (because the
-  server closes the connection), we will now retry the request on a fresh new
-  connection. The previous ECONNRESET stuff from January 30 was removed again
-  as it didn't detect the situation good enough.
-
-Daniel (20 April 2004)
-- Added test case 160 to verify that curl works correctly when it gets a
-  connection reset when trying to re-use a connection. It should then simply
-  create a new connection and resend the request.
-
-Daniel (19 April 2004)
-- No more 512 byte limit for host name (inclusing name + password) in libcurl.
-  An added bonus is that we use less memory for the typical (shorter URL)
-  case.
-
-- Cleaned up the sources to better use the terms 'hostname' and 'path'
-  internally when referring to that data. The buffers used for keep that info
-  is called 'namebuffer' and 'pathbuffer'. Much easier to read and understand
-  than the previous mess.
-
-Daniel (15 April 2004)
-- Modified runtests.pl again to remove all log files in the log/ dir between
-  each test, and then made -p display all non-zero byte files in the log dir.
-  It should make that data more usable and contain less rubbish.
-
-- ftpserver.pl now produces log files more similar to how the sws ones look
-  and they now also contains a bit more details to help debugging ftp
-  problems.
-
-- Removed the fixed maximum amount of dir levels the FTP code supported.
-  Previously we had a fixed array for 100 levels, now we save space in each
-  handle by allocating only for a few level by default and then enlarging that
-  in case of need (with no maximum depth). Adjusted test case 142 to verify
-  that 150 dir levels work fine.  An added bonus is that we use less memory
-  for the typical (not very deep) case.
-
-Daniel (14 April 2004)
-- Asking for CURL_IPRESOLVE_V6 when ipv6 addresses can't be resolved will
-  now cause the resolve function to return NULL immediately. This flaw was
-  pointed out by Gisle Vanem.
-
-- Gisle Vanem made curl -4/-6 actually set the desired option to libcurl.
-
-- runtests.pl now has a new option (-p) that will display "interesting" log
-  files to stdout in case of a test failure. This is primarily intended to be
-  used in the 'full-test' make target that is used by the autobuild tests, as
-  we then get a much better chance to understand (remote) test failures based
-  on autobuild logs alone.
-
-Daniel (13 April 2004)
-- Gisle Vanem made the multi interface work again on Windows even when built
-  without ares. Before this, select() would return -1 during the name resolve
-  phase since curl_multi_fdset() didn't return any fd_set at all which wasn't
-  appreciated!
-
-- curl_easy_duphandle() now duplicates the tcp_nodelay info as well.
-
-Daniel (11 April 2004)
-- Applied David Byron's patch for the MSVC libcurl makefile for builds with
-  zlib.
-
-Daniel (9 April 2004)
-- Dirk Manske improved the timer resolution for CURLINFO_*_TIME, it can now
-  be down to usec if the system sypports it.
-
-Daniel (7 April 2004)
-- A request that sends "Expect: 100-continue" and gets nothing but a single
-  100 response back will now return a CURLE_GOT_NOTHING. Test 158 verifies.
-
-- The strtoofft() macro is now named curlx_strtoofft() to use the curlx_*
-  approach fully.
-
-Daniel (6 April 2004)
-- Gisle Vanem's fixed bug #927979 reported by Nathan O'Sullivan. The problem
-  made libcurl on Windows leak a small amount of memory in each name resolve
-  when not used as a DLL.
-
-- New authentication code added, particularly noticable when doing POST or PUT
-  with Digest or NTLM. libcurl will now use HEAD to negotiate the
-  authentication and when done perform the requested POST. Previously libcurl
-  sent POST immediately and expected the server to reply a final status code
-  with an error and then libcurl would not send the request-body but instead
-  send then next request in the sequence.
-
-  The reason for this change is due to IIS6 barfing on libcurl when we attempt
-  to POST with NTLM authentication. The reason for the problems is found in
-  RFC2616 section 8.2.3 regarding how servers should deal with the 100
-  continue request-header:
-
-        If it responds with a final status code, it MAY close the transport
-        connection or it MAY continue to read and discard the rest of the
-        request.
-
-  Previous versions of IIS clearly did close the connection in this case,
-  while this newer version decided it should "read and discard". That would've
-  forced us to send the whole POST (or PUT) data only to have it discarded and
-  then be forced to send it again. To avoid that huge penality, we switch to
-  using HEAD until we are authenticated and then send the POST.
-
-  The only actual drawback I can think of (except for the odd sites that might
-  treat HEAD differently than they would treat POST/PUT when given the same
-  URL) is that if you do POST with CURLAUTH_ANY set and the site requires NO
-  authentication, libcurl will still use a HEAD in a first round and then do a
-  POST.
-
-  If you do a HEAD or a GET on a site using CURLAUTH_ANY, libcurl will send
-  an un-authenticated request at once, which then is the only request if the
-  site requires no auth.
-
-  Alan Pinstein helped me work out the protocol details by figuring out why
-  libcurl failed and what IIS6 expects.
-
-- The --limit-rate logic was corrected and now it works a lot better for
-  higher speeds, such as '10m' or similar. Reported in bug report #930249.
-
-- Introducing curlx_tvnow() and curlx_tvdiff() using the new curlx_* fashion.
-  #include "timeval.h" from the lib dir to get the protos etc.  Note that
-  these are NOT part of the libcurl API. The curl app simply uses the same
-  source files as the library does and therefore the file needs to be compiled
-  and linked with curl too, not just when creating libcurl.
-
-- lib/strerror.c no longer uses sys_nerr on non-windows platforms since it
-  isn't portable enough
-
-Daniel (2 April 2004)
-- In the curl_strnqual.3 man page, we now prepend the man3 dir to the file
-  name to work better. As pointed out by Robin Kay.
-
-- Andrés García updated the mingw makefiles.
-
-- Dirk Manske fixed a problem I recently added in the progress meter code that
-  broke subsecond resolution for CURLINFO_TOTAL_TIME. He also pointed out a
-  mistake in the code that produces the final update of the progress meter
-  that would often prevent it from actually being updated that final time.
-
-Daniel (1 April 2004)
-- Dirk Manske fixed a memory leak that happened when we use ares for name
-  resolves and decides to time-out before ares does it. This fix uses the
-  brand new ares_cancel() function which is not present in c-ares 1.1.0.
-
-  When told to enable ares, the configure script now checks for presence of
-  the ares_cancel function to alert users if they attempt to use a too old
-  c-ares library.
-
-Daniel (31 March 2004)
-- Roy Shan fixed a flaw that prevented ares name resolve timeouts to occur!
-
-- Dirk Manske found out that libcurl timed out waiting for resolves far too
-  easy when libcurl was built to use (c-)ares for name resolving.
-
-- Further Digest fixing and a successful test case 153 now makes me believe
-  Mitz Wark's problems are fixed.
-
-- Andres Garcia figured out that test case 63, while working, only proved a
-  flaw in libcurl's 'http_proxy' parser when a user name and password is
-  provided. The user name was not extracted properly (and 'http' was always
-  used as user name).
-
-- Andrés García fixed compiler warnings in our ioctlsocket() usage.
-
-Daniel (30 March 2004)
-- Joe Halpin faced problems with the getnameinfo() argument ai_flags and the
-  particular bit named 'NI_WITHSCOPEID' on Solaris 9 for Intel.  I've now
-  written a configure test that checks for a working NI_WITHSCOPEID
-  implemenation. No code uses the result from this test yet, it is still
-  experimental. James Carlson wrote in comp.unix.solaris: "It's a bug
-  (5006623) -- it's not supported and shouldn't be in the header file."
-
-- I provided Mitz Wark with a first patch in order to fix libcurl's problems
-  to re-negotiate Digest authentication (when 'stale=true' is included in the
-  response header).
-
-- Roy Shan discovered that the multi interface didn't properly timeout name
-  lookups which could make handles get stuck in that state and thus never get
-  completed. I've produced a first test patch that attempts to correct this.
-
-- David Byron's patch was appplied to make CURLOPT_FAILONERROR work nicely
-  even with authentcations such as NTLM or Digest enabled. Test cases 150, 151
-  and 152 were added to verify the functionality.
-
-Daniel (29 March 2004)
-- Gisle Vanem updated files for the djgpp/MS-DOS build.
-
-- Andrés García helped me work out a fix for the runtests.pl script to make
-  the file:// tests run fine when tested with the mingw-built version of curl.
-
-- Fixed an include issue with netinet/tcp.h on AIX, based on input by Tor.
-  This also required a minor fix of the configure script.
-
-- The postit2.c source example used the wrong struct name for the post data.
-
-Daniel (26 March 2004)
-- Gisle Vanem improved ipv6 support on windows by making the curl build to use
-  the correct getaddrinfo() function.
-
-Daniel (25 March 2004)
-- It turned out that AIX, despite having a "thread-safe libc", doesn't offer
-  all traditional functions thread-safe. This URL is informative on this
-  subject:
-
-    http://publibn.boulder.ibm.com/doc_link/en_US/a_doc_lib/aixprggd/ \
-    genprogc/thread_quick_ref.htm
-
-  As a result of this, we now check for three *_r() functions on recent AIX
-  versions as well that the URL mentions aren't thread-safe in AIX 5.1.
-
-- renamed curl_strerror.[ch] to strerror.[ch]
-
-- Joe Halpin added CURLOPT_TCP_NODELAY and --tcp-nodelay to make it possible
-  for users to disable the Nagle algorthim-usage.
-
-- Tor Arntsen provided some interesting strerror_r() knowledge. glibc has its
-  own API which differs from the POSIX one. Daniel adjusted the configure
-  script to detect the version in use, and the code now uses the new defines
-  accordingly.
-
-- Fixed some build flaws with the new lib/curl_strerror.c source file.
-
-Daniel (24 March 2004)
-- Gisle Vanem's fix to replace the bad use of strerror(). This introduces
-  Curl_strerror() that attempts to be thread-safe _and_ works on Windows too!
-
-- Tor Arntsen spell-fixed lots of libcurl man pages.
-
-- Tor Arntsen made testcurl.pl work with older perl 5 versions, and Daniel
-  made it not use chdir .. to go back, as that isn't very good when you've
-  setup a testdir containing symlinks.
-
-- Added a check for strerror_r() in the configure script.
-
-Daniel (23 March 2004)
-- Added Greg Hewgill's testcurl.pl script to CVS. We have not moved over to
-  use this script for the real distributed testing just yet, but it is only
-  a matter of time.
-
-- Gisle Vanem provided code that makes curl report a better error message
-  if --interface fails on windows.
-
-- The regular progress meter is now fixed to never wrap due to long lines. All
-  fields are now static sized. If the time in the time fields get a time value
-  that would represent a time that is 100 hours or more (if not, it remains
-  using a HH:MM:SS display), it switches first to a "NNNd NNh" display (for
-  days and hours) and if that isn't enough it switches to a "NNNd" display if
-  it is more than 999 days.
-
-  Several of the calculations were also moved to fixed-point math instead of
-  using doubles.
-
-Daniel (22 March 2004)
-- Glen Nakamura noticed CURLINFO_CONTENT_LENGTH_DOWNLOAD didn't work as it
-  used to do if CURLOPT_NOBODY is set TRUE.
-
-- Kevin Roth patched the cygwin package makefile and README to adjust to
-  new cygwin packaging guidelines.
-
-- Enabled "NT responses" in the NTLM authentication. Doing this simply means
-  that we provide an extra chunk of data in each "type-3 message". The only
-  reason for doing this is that it seems that using only the "Lanmanager hash"
-  (as we've been doing until now) doesn't support passwords longer than 14
-  characters and it turns out there are users out there who want to use
-  libcurl and NTLM with such passwords! ;-) Seven NTLM-related test cases were
-  updated accordingly. Mentioned as issue 29 in TODO-RELEASE, bug report
-  #915609
-
-- Moved the generated libcurl version info to a new header file, named
-  curl/curlver.h. Now interested parties can include ONLY version info, should
-  anyone want that (and it seems at least some windows resource files would).
-  Mentioned as issue 27 in TODO-RELEASE.
-
-Daniel (21 March 2004)
-- Fixed the root Makefile to use tabs for the netware target. Günter Knauf
-  pointed this out.
-
-- Marty Kuhrt's VMS cleanup
-
-- Thomas Schwinge made buildconf recognize ACLOCAL_FLAGS to invoke aclocal
-  with particular pre-determined options.
-
-Version 7.11.1 (19 March 2004)
-
-Daniel (18 March 2004)
-- Tor Arntsen brought some info about SGI IRIX:
-
-  IRIX supports 3 different executable/object formats, -32, -n32 and -64.
-  -n32 is default 32-bit format, -32 is the "old" 32-bit format, and -64 is
-  the 64-bit format.  Libraries for the different formats are in lib, lib32
-  and lib64 respectively.
-
-  We've now adjusted the configure script to adapt to this when scanning for
-  3rd party libs, such as OpenSSL.
-
-Daniel (17 March 2004)
-- Watz pointed out a few missing files in the MSVC project description file.
-
-- Günter Knauf brought patches, code and makefiles to build curl on Novell
-  NetWare.
-
-Daniel (15 March 2004)
-- Lots of libcurl man pages were updated to contain references to other man
-  pages the recognized way so that they appear as nice hyperlinks in the HTML
-  versions.
-
-- buildconf now checks the m4 version too, since autoconf requires a GNU m4
-  version to build proper configure scripts.
-
-Daniel (12 March 2004)
-- Added CURLOPT_POSTFIELDSIZE_LARGE, the large file version of
-  CURLOPT_POSTFIELDSIZE to allow POSTs larger than 2GB.
-
-- David Byron fixed an uninitialized variable case/crash.
-
-Daniel (10 March 2004)
-- Jeff Lawson fixed the SSL connection to deal with received signals during the
-  connect.
-
-- Changed the OS string for win32 to become "i386-pc-win32".
-
-Daniel (9 March 2004)
-- Changed the internals to use curl_socket_t for socket variable type. This
-  should enable us to build with less warnings on Windows, where SOCKET is
-  used which is an unsigned int, while most other platforms use a mere int.
-
-- Modified lib/config-win32.h to build fine on MSVC again.
-
-Version 7.11.1-pre1 (8 March 2004)
-
-Daniel (8 March 2004)
-- Minor fix to make curl CURL_VERSION_LARGEFILE is only set if curl_off_t is
-  larger than 4 bytes.
-
-Daniel (4 March 2004)
-- Improved PUT/POST with NTLM/Digest authentication, the so called issue 12.
-
-- Modified the test HTTP server a lot to work with the upcoming changes for
-  PUT/POST with NTLM/Digest authentication (like test case 88). Added Andrés
-  García's win32-changes. Improved the logging.
-
-- Fixed the file:-related progress/getinfo stuff a bit more.
-
-Daniel (4 March 2004)
-- I corrected a problem with the multi interface when following a Location:
-  header or when doing multiple-request authentications. A subsequent request
-  could erroneously re-use a previous connection that was sent with
-  Connection: close. Christopher R. Palmer reported.
-
-- Andrés García patched curl to prevent warnings while compiling with mingw,
-  mainly because it is now possible to have both WIN32 and HAVE_CONFIG_H
-  defined.
-
-- When transferring files from a file: URL, the progress meter and other
-  transfer metrics were not updated properly.
-
-- David Byron provided a "version resource" file to the curl executable for
-  the windows builds.
-
-Daniel (3 March 2004)
-- David Byron's work on making libcurl only require winsock 1.1 on Windows
-  machines.
-
-- More variable cleanups based on compiler warnings generated by Tor Arntsen's
-  autobuilds with MIPSPro.
-
-- Joe Halpin helped us fix some pedantic compiler warnings on FreeBSD.
-
-- Applied Tom Bates' patch to build on nsr-tandem-nsk.
-
-- Dan Fandrich corrected some flaws in the configure GSS detection.
-
-Daniel (2 March 2004)
-- Fixed the libcurl code to use FORMAT_OFF_T for printf() formatting
-  curl_off_t types internally.
-
-Daniel (1 March 2004)
-- Added CURL_VERSION_LARGEFILE as a feature-bit in the curl_version_info()
-  response, that signals if this libcurl supports >2GB files. curl -V now
-  outputs 'Largefile' in the Features: field if this is the case. Most systems
-  are likely to support this.
-
-- We offer a CURL_FORMAT_OFF_T define in the public header, which can be used
-  to printf() curl_off_t variables. We also modified the libcurl sources to
-  use this define instead of the previous %Od approach (although I've left the
-  O-flag functional in the code). This should also prevent compilers to warn
-  on the home-grown option.
-
-- Fixed the resume-check code to test for a working resume at the end of the
-  headers and not at the first body-byte.
-
-- CURLOPT_DNS_USE_GLOBAL_CACHE is now considered obsolete. Stop using it. If
-  you need a global DNS cache for whatever reason, use the share interface and
-  you'll get a global cache that works the way it should work. You can even
-  have any number of global caches, all at your command. This is now also
-  mentioned in the docs.
-
-- Made the *printf code support the z-flag to enable size_t printf() in a
-  manner similar to how glibc allows it. To make printfing of this work on
-  platforms with 64bit size_t and 32bit ints. If there even are any! ;-)
-
-- Christopher R. Palmer discovered that if you CURLOPT_FRESH_CONNECT and
-  CURLAUTH_NTLM (or CURLAUTH_ANY and libcurl then picked NTLM), libcurl would
-  loop without succeeding to authenticate due to the new connection that was
-  made for all round-trips in the authentication. Now, the FRESH_CONNECT is
-  remade to only matter for the first connection made with curl_easy_perform()
-  and all the rest that might follow due to FOLLOWLOCATION or HTTP
-  authentication are now ignoring that option.
-
-- Adjusted the QUIT code slightly since it could core-dump.
-
-- Corrected the test suite's FTP server to provide a correct size to the
-  'verifiedserver' request.
-
-Daniel (27 February 2004)
-- Joe Halpin made the FTP code send QUIT on the control connection before
-  disconnecting the TCP connection. This is what good-behaving ftp clients
-  should do.
-
-Daniel (26 February 2004)
-- David Byron updated several files to make curl build fine on MSVC 6. He
-  also added the 'buildconf.bat' that works like the 'buildconf + configure'
-  combo does on unixes.
-
-- Gisle Vanem made the memdebug stuff support calloc() as well.
-
-- Tor Arntsen pointed out that testcurl.sh needed to remove the generated
-  files in order to have them re-generated in each build.
-
-- Andy Serpa found out that the share interface did not enjoy life when not
-  having the lock and unlock callbacks set, even though documented to be
-  OK. It still is OK, and now the code won't segfault anymore!
-
-Daniel (25 February 2004)
-- Based on a patch by Greg Hewgill I modified how long long is used in the
-  mprintf code, as we can use a 64bit type with MSVC that is a long long
-  equivalent. This corrects some weird large file behaviors on windows.
-
-- Tor Arntsen helped me work out --enable-debug to work better with different
-  versions of the gcc and icc compilers.
-
-- Added CURLOPT_SHARE to the curl_easy_setopt.3 man page.
-
-Daniel (22 February 2004)
-- Applied the final pieces of Gisle Vanem's patch that brings a working name
-  resolve timeout to the windows versions of curl!
-
-Daniel (21 February 2004)
-- David Byron's fix to allow the speed-limit logic work even if you set
-  limit-rate. It does work on the expense of the rate limiter.
-
-Daniel (20 February 2004)
-- configure --enable-debug with gcc now also tries to detect the icc compiler
-  (which somehow gets treated as if it is a gcc) to stop using all the gcc
-  options with it, and we also provide -isystem options for each extra -I
-  option the configure script has figured out (for OpenSSL, kerberos, zlib,
-  Heimdal etc). This of course to prevent warnings on headers we don't have
-  control of.
-
-Daniel (19 February 2004)
-- Doug Porter made libcurl use the HOME environment variable before the
-  getpwuid results when looking for .netrc files.
-
-- If 'configure --enable-debug' is used with gcc, it now checks which gcc
-  version it is and uses as picky compiler options as possible for the
-  particular version.
-
-- Code that can be used in both the lib and in the curl app is now made to use
-  the curlx_ prefix. The first function to be available like this is the
-  curlx_strtoll() function. This is made to allow the app to use existing code,
-  but without polluting the libcurl API. Further explanations posted here:
-
-    http://curl.haxx.se/mail/lib-2004-02/0215.html
-
-Daniel (18 February 2004)
-- Fixed buildconf to not use "which" as AIX and Tru64 have what have been
-  referred to as "horribly broken 'which' programs".
-
-- Made sure dns cache timeout set to -1 really means caching forever.
-
-Daniel (17 February 2004)
-- Made it possibly to build c-ares with the libcurl memdebug system to better
-  track memory.
-
-Daniel (16 February 2004)
-- When using ares, we now initialize the ares 'channel' in curl_easy_init()
-  and re-use that same handle during the entire curl handle's life-time. It
-  improves performance.
-
-- Fixed a problem when displaying verbose for ipv6-enabled libcurls and
-  re-used connections. Problem reported and fix verified by Grigory Entin.
-
-- Jeff Lawson fixed the version-check in the SOCKS5 code.
-
-Daniel (15 February 2004)
-- Fixed a case where a host cache entry was not flagged in-use properly when a
-  cached entry was used.
-
-- Andrés García's patch that checks for winmm in the configure script was
-  applied.
-
-Daniel (13 February 2004)
-- Ben Greear's SO_BINDTODEVICE patch for the binding of the local end to a
-  specific network interface.
-
-- Greg Hewgill found out that the variable holding 'contentlength' wasn't big
-  enough to hold a large file!
-
-- Tor Arntsen fixed a 64bit-related problem in date-related code in the ftp
-  department, and there was another potential problem in the name resolve code
-  too.
-
-Daniel (11 February 2004)
-- Removed a few variables that were only set but never used, as some compilers
-  warn about that and we do not like compiler warnings!
-
-- Removed the need for symlinks in the tests/data directory if curl is built
-  outside of the source directory and the 'make test' is used. This was done
-  by providing a "source dir path" to the scripts/servers.
-
-- Now, if the configure script can't find an nroff tool or an option to nroff
-  to use to convert man pages with, it will completely switch off the built-in
-  manual.
-
-- 'configure --disable-manual' completely disables the built-in manual from
-  the curl command tool.
-
-- Andrés García fixed the configure script and a minor source edit, and now
-  he has managed to get msys/mingw to run configure and then build!
-
-Daniel (9 February 2004)
-- The default HTTP Accept: header was modified to the much simpler
-  "Accept: */*".
-
-- P R Schaffner updated the curl-ssl spec file for RPMs.
-
-- Dominick Meglio brought lots of documentation for the share interface's man
-  pages that were previously missing.
-
-- Tor Arntsen provided a patch that makes libcurl work-around a bug in the
-  AIX5 implementation of getaddrinfo(). This makes the FTP PORT stuff work on
-  ipv6-enabled AIX builds.
-
-- Ken Rastatter provided portability fixes for the curlgtk.c example, and now
-  it runs on windows with GTK as well!
-
-Daniel (6 February 2004)
-- Andrés García made the configure script find gethostbyname() fine when run
-  with mingw on windows.
-
-- Modified the ldap code to use proper function pointers all over (instead of
-  mixed data and function pointers) to work-around the picky MIPSPro compiler
-  warnings.
-
-- A custom Host: header is only considered if the request is not made by
-  following a location. After discussions with Tim Baker.
-
-Daniel (5 February 2004)
-- The libz part of the configure script now only set the two libz-related
-  define HAVE_ZLIB_H and HAVE_LIBZ if both the lib and the header is found.
-  If one is missing, none of the defines is set.
-
-- Andrés García fixed the Mingw makefiles.
-
-- Len Krause reported that curl 7.9.X could do uploading from stdin without
-  doing chunked encoding, which current curl cannot do even if you disable
-  the transfer-encoding chunked header. Now it can again, and test case 98
-  verifies this functionality.
-
-- Tor Arntsen fixed a weird getaddrinfo() usage in the FTP code, preventing
-  the ipv6-code for PORT work on AIX 5.2. We now also provide (better) error
-  messages when bailing out in the that function.
-
-- Tor Arntsen now provides AIX and IRIX (using gcc, xlc and the MIPSPro
-  compilers) automated build logs (http://curl.haxx.se/auto/) and we've fixed
-  numerous minor quirks to make less warnings appear.
-
-Daniel (4 February 2004)
-- Based on a patch by Gilad, we now use the custom timeouts when waiting for a
-  server to connect when using FTP PORT. Previously we always waited 10
-  seconds, no more no less. We now also changed the default (if no timeout is
-  set) to wait 60 seconds for the connect before we fail.
-
-Daniel (3 February 2004)
-- Modified to link with c-ares instead of ares.
-
-Daniel (2 February 2004)
-- Added a configure test to check for which option the (g)nroff tool wants
-  to extract plain text from the man pages. Tor Arntsen told us the AIX
-  version of GNU gnroff doesn't support -man!
-
-- Added an undef of accept in memdebug.h to make curl build with --enable-debug
-  on AIX 5.2 which seems to have accept defined. Reported by Tor Arntsen.
-
-- curl_version() now includes c-ares version info, and curl_version_info() now
-  returns a struct with version SECOND that also includes that info.
-
-- We are now officially using c-ares for asynch name resolves. c-ares is the
-  new library, based on the existing ares but with an extended and slightly
-  modified API.
-
-- Dirk improved the ares timeout code, and now we also include the ares error
-  string when we fail to resolve a name.
-
-- Another tweak to make test case 91 run fine. Now we have another bit on a
-  connection that is set true if the connection is marked for 'retry'. That
-  makes the connection get closed and re-opened and the HTTP-done code must
-  not complain on the fact that no data was received.
-
-- Based on Dirk Manske's patch, I modified the name resolving with ares to
-  feature a timeout for really slow lookups. It now defaults to 300 seconds,
-  but is now adjusted to the CONNECTTIMEOUT/TIMOUE timeouts if one of them
-  is set.
-
-- Fixed the inclusion of ca-bundle.h to really use the one in the build dir
-  before the one in the source dir. Domenico Andreoli found out and reported.
-
-- Added test case 97, a simple POST with a custom Content-Type header
-  replacing the original application/x-www-form-urlencoded one.
-
-Daniel (30 January 2004)
-- Added code that attempts to fix the test 91 failure. As has been figured out
-  by Patrick Smith, the error happens because we re-use a connection that the
-  server is just about to close and we even manage to send away the request
-  without seeing an error. On the first read attempt we get a ECONNRESET.
-  Starting now, we attempt to detect this and if so, we retry the request on a
-  fresh connection.
-
-- I added test case 510 which is a custom program that does a POST using a
-  read callback, with chunked transfer-encoding.
-
-- Adjusted one of the MPE/iX changes as it made test case 504 fail all over.
-
-- Added --socks as a recognized option. It works just like --proxy but sets a
-  SOCKS5 proxy to use. SOCKS5 support has been available in libcurl for a
-  while, just not provided by the curl tool. This does not currently work for
-  IPv6-enabled libcurls.
-
-Daniel (29 January 2004)
-- Stadler Stephan pointed out that src/hugehelp.c included config.h without
-  checking the define if its present...
-
-- Ken Hirsch provided patches to make curl build fine on the MPE/iX operating
-  system.
-
-- Dan Fandrich compiled curl with lots of aggressively pedantic compiler
-  options and thus found a few minor errors and did some general cleanups to
-  avoid them.
-
-- Dirk Manske fixed a flaw in ares that prevented it to use non-blocking
-  sockets properly.
-
-Daniel (28 January 2004)
-- Richard Bramante fixed chunked transfer-encoded "uploads" to send a final
-  CRLF combo properly.
-
-Daniel (27 January 2004)
-- Made the response-headers during a CONNECT request to a proxy get passed on
-  as regular headers, so they appear with -i/-I options and similar.
-
-- Based on a patch by Gisle Vanem, I've made the progress meter display
-  properly switch to a GB-display when more than 9999MB have been transfered.
-
-Daniel (23 January 2004)
-- Gisle Vanem pointed out a curlrc parser problem/crash when an option with a
-  required didn't have one and was on the last line of a file.
-
-- More Windows fixes for large files. We now build and link with
-  ../lib/strtoofft.c in the app code since Curl_strtoll() is not a provided
-  libcurl function... Perhaps we should consider a 'common' dir or similar
-  where we put source code used in both the lib and the client. Or perhaps
-  we'll just make this function available in the library...
-
-- Vincent Bronner found out the socks5 code crashed when no username was
-  set.
-
-- Vincent Bronner spotted a problem with proxy username/password when re-using
-  a persistent connection.
-
-- Fixed the progress meter display for files larger than 2^31 bytes. Gisle
-  Vanem reported.
-
-Daniel (22 January 2004)
-- Gisle Vanem made strtoll() get used when curl is built with the mingw
-  compiler.
-
-- Gisle Vanem fixed the compressed help text code to display properly.
-
-- Removed the '#define HttpPost' from the public header file, as curl_httppost
-  is the proper name and it has been for quite some time now. Fixes another
-  name space pollution.
-
-- Added 'curl_off_t' typedef in the public header file, to be used to provide
-  large file sizes to the *_LARGE options. Adjusted the code all over to use
-  this variable type instead of 'off_t'. This is an attempt to make the large
-  file support work on more platforms. The configure script now checks the
-  size of the curl_off_t instead of the plain off_t.
-
-Version 7.11.0 (22 January 2004)
-
-Daniel (21 January 2004)
-- Removed the defines in the public header file with TIMECOND_ prefixes. They
-  have been obsolete since April 22nd 2002, and if this causes anyone any
-  problems now it is very easy to just add CURL_ to the names. This corrects
-  this name space pollution.
-
-Daniel (19 January 2004)
-- David Byron cleaned up how --trace with no option was treated, and also
-  arguments in a config file without a required parameter!
-
-Daniel (16 January 2004)
-- Gisle Vanem fixed a few issues where compilers warned about variables
-  possibly being used unassigned.
-
-- Minor Interix build problem fixed.
-
-Daniel (15 January 2004)
-- Peter Sylvester pointed out some necessary escaping needed in the
-  acinclude.m4 file when automake 1.8 or later is used.
-
-Daniel (14 January 2004)
-- Vincent Bronner fixed the Curl_resolv() return code. This extends the fix
-  Steve Green provided on december 3...
-
-Daniel (13 January 2004)
-- Luke Call made the win32 version of the password prompting function support
-  backspace.
-
-- Dan Fandrich fixed the hugehelp source file to contain both a compressed and
-  an uncompressed version in the distribution, so that more people easier can
-  build curl with the compressed version.
-
-- Diego Casorran brought another AmigaOS build patch for native Amiga builds.
-
-- Matt Veenstra updated the Mac OS X framework files.
-
-- Brian R Duffy brought a section to the INSTALL file on how to build a
-  SSL-enabled curl using the free Borland C++ compiler. He also updated the
-  Borland lib/Makefile.b32.
-
-- I fixed the test case 509 which I broke yesterday. Now the libtest are
-  compiled with an include path that points to the library's source dir, so
-  that the libtests can include files from the source tree. This was made to
-  make it possible to use the USE_SSLEAY define in the library test files.
-
-Daniel (12 January 2004)
-- Peter Sylvester brought code that now allows a callback to modified the URL
-  even when the multi interface is used, and then libcurl will simulate a
-  "follow location" to that new URL. Test 509 was added to test this feature.
-
-- Extended the time we retry servers in the test script, and I also made it
-  retry the https and ftps servers before they are considered bad. I believe
-  the previous approach could turn problematic on really slow hosts.
-
-Version 7.11.0-pre1 (12 January 2004)
-
-Daniel (11 January 2004)
-- Dominick Meglio pointed out FTPS should use default port 990 according to
-  IANA.
-
-Daniel (8 January 2004)
-- Fixed the SPNEGO configure check to not use -R or other non-portable options
-  in the LDFLAGS. Reported by Pierre in bug report #872930.
-
-Daniel (5 January 2004)
-- Dan Fandrich provided a fix on our zlib usage.
-
-- David J Meyer's patch that introduce large file support to libcurl was
-  applied. New curl_easy_setopt options that accept 'off_t' arguments are:
-
-  INFILESIZE_LARGE
-  RESUME_FROM_LARGE
-  MAXFILESIZE_LARGE
-
-Daniel (4 January 2004)
-- Based on Dominick Meglio's comments, I made our private version of
-  gettimeofday() declared static. This would otherwise collide with the same
-  function in other libs (like ares for example).
-
-- Added Dominick Meglio's description on how to build libcurl with ares
-  on win32.
diff --git a/CHANGES.2004 b/CHANGES.2004
new file mode 100644 (file)
index 0000000..8f33314
--- /dev/null
@@ -0,0 +1,1994 @@
+Daniel (25 December 2004)
+- Removed src/config.h.in from CVS, it is now copied from the (generated)
+  lib/config.h.in instead, as they can very well be the same. This removes a
+  "manual hassle". You may want to re-run buildconf now.
+
+- Werner Koch filed Debian bug report #286794, mentioning that curl contained
+  non-free (by Debian's view) source code. This was Angus Mackay's
+  src/getpass.c source code. I tried to contact him about it to quickly solve
+  this issue, but his email addresses bounce and I got some time "over" and
+  reimplemented the functionality once brought by Angus. We no longer use any
+  of Angus' original code and the new function is much simpler (IMO). Issue
+  solved.
+
+Daniel (24 December 2004)
+- David Shaw added --protocols to curl-config, so that it now lists all
+  protocols libcurl was built to support. --feature no longer lists disabled
+  protocols.
+
+Daniel (23 December 2004)
+- David Shaw fixed the configure --disable-[protocol] variables so that
+  curl-config --feature now works correctly!
+
+Daniel (22 December 2004)
+- Rune Kleveland fixed a minor memory leak for received cookies with the
+  (rare) version attribute set.
+
+- Marcin Konicki provided two configure fixes and a source fix to make curl
+  build out-of-the-box on BeOS.
+
+Daniel (21 December 2004)
+- Added test case 217 that verified CURLINFO_HTTP_CONNECTCODE, and I made the
+  -w option support 'http_connect' to make it easier to verify!
+
+- Fixed lib/select.c include order to build fine on FreeBSD
+
+- Fixed failf()'s reuse of the va_list variable that crashed on FreeBSD.
+  Pointed out by Peter Pentchev.
+
+Version 7.12.3 (20 December 2004)
+
+Daniel (19 December 2004)
+- I investigated our PKCS12 build problem on Solaris 2.7 with OpenSSL 0.9.7e,
+  and it turned out to be the fault of the zlib 1.1.4 headers doing a typedef
+  named 'free_func' and the OpenSSL headers have a prototype that uses
+  'free_func' in one of its arguments. This is why the compile errors out.
+
+  In other words, we need to include the openssl/pkcs12.h header before the
+  zlib.h header and it builds fine. The configure script now checks for this
+  file and it then gets included early in lib/urldata.h.
+
+Daniel (18 December 2004)
+- Samuel Listopad added support for PKCS12 formatted certificates.
+
+- Samuel Listopad fixed -E to support "C:/path" (with forward slash) as well.
+
+Daniel (16 December 2004)
+- Gisle found and fixed a problem in the directory re-use for FTP.
+
+  I added test case 215 and 216 to better verify the functionality.
+
+- Dinar in bug report #1086121, found a file handle leak when a multipart
+  formpost (including a file upload part) was aborted before the whole file
+  was sent.
+
+Daniel (15 December 2004)
+- Tom Lee found out that globbing of strings with backslashes didn't work as
+  you'd expect. Backslashes are such a central part of windows file names that
+  forcing backslashes to have to be escaped with backslashes is a bit too
+  awkward to users. Starting now, you only need to escape globbing characters
+  such as the five letters: "[]{},". Added test case 214 to verify this.
+
+Daniel (14 December 2004)
+- Harshal Pradhan patched a HTTP persistent connection flaw: if the user name
+  and/or password were modified between two requests on a persistent
+  connection, the second request were still made with the first setup!
+
+  I added test case 519 to verify the fix.
+
+Daniel (13 December 2004)
+- Gisle added CURLINFO_SSL_ENGINES to curl_easy_getinfo() to allow an app
+  to list all available crypto ENGINES.
+
+- Gisle fixed bug report #1083542, which pointed out a problem with resuming
+  large file (>4GB) file:// transfers on windows.
+
+Daniel (11 December 2004)
+- Made the test suite HTTP server (sws) capable of using IPv6, and then
+  extended the test environment to support that and also added three test
+  cases (240, 241, 242) that run tests using IPv6. Test 242 uses a URL that
+  didn't work before the 10 dec fix by Kai Sommerfeld.
+
+- Made a failed file:// resume output an error message
+
+- Corrected the CURLE_BAD_DOWNLOAD_RESUME error message in lib/strerror.c
+
+- Dan Fandrich:
+
+  simplified and consolidated the SSL checks in configure and the usage of the
+  defines in lib/setup.h
+
+  provided a first libcurl.pc.in file for pkg-config (but the result is not
+  installed anywhere at this point)
+
+  extended the cross compile section in the docs/INSTALL file
+
+Daniel (10 December 2004)
+- When providing user name in the URL and a IPv6-style IP-address (like in
+  "ftp://user@[::1]/tmp"), the URL parser didn't get the host extracted
+  properly.  Reported and fixed by Kai Sommerfeld.
+
+Daniel (9 December 2004)
+- Ton Voon provided a configure fix that should fix the notorious (mostly
+  reported on Solaris) problem where the size_t check fails due to the SSL
+  libs being found in a dir not searched through by the run-time linker.
+  patch-tracker entry #1081707.
+
+- Bryan Henderson pointed out in bug report #1081788 that the curl-config
+  --vernum output wasn't zero prefixed properly (as claimed in documentation).
+  This is fixed in maketgz now.
+
+Daniel (8 December 2004)
+- Matt Veenstra updated the mach-O framework files for Mac OS X.
+
+- Rene Bernhardt found and fixed a buffer overrun in the NTLM code, where
+  libcurl always and unconditionally overwrote a stack-based array with 3 zero
+  bytes. This is not an exploitable buffer overflow. No need to get alarmed.
+
+Daniel (7 December 2004)
+- Fixed so that the final error message is sent to the verbose info "stream"
+  even if no errorbuffer is set.
+
+Daniel (6 December 2004)
+- Dan Fandrich added the --disable-cookies option to configure to build
+  libcurl without cookie support. This is mainly useful if you want to build a
+  minimalistic libcurl with no cookies support at all. Like for embedded
+  systems or similar.
+
+- Richard Atterer fixed libcurl's way of dealing with the EPSV
+  response. Previously, libcurl would re-resolve the host name with the new
+  port number and attempt to connect to that, while it should use the IP from
+  the control channel. This bug made it hard to EPSV from an FTP server with
+  multiple IP addresses!
+
+Daniel (3 December 2004)
+- Bug report #1078066: when a chunked transfer was pre-maturely closed exactly
+  at a chunk boundary it was not considered an error and thus went unnoticed.
+  Fixed by Maurice Barnum.
+
+  Added test case 207 to verify.
+
+Daniel (2 December 2004)
+- Fixed the CONNECT loop to default timeout to 3600 seconds.
+
+  Added test case 206 that makes CONNECT with Digest.
+
+  Fixed a flaw that prepended "(nil)" to the initial CONNECT rqeuest's user-
+  agent field.
+
+Daniel (30 November 2004)
+- Dan Fandrich's fix for libz 1.1 and "extra field" usage in a gzip stream
+
+- Dan also helped me with input data to create three more test cases for the
+  --compressed option.
+
+Daniel (29 November 2004)
+- I improved the test suite to enable binary contents in the tests (by proving
+  it base64 encoded), like for testing decompress etc. Added test 220 and 221
+  for this purpose. Tests can now also depend on libz to run.
+
+- As reported by Reinout van Schouwen in Mandrake's bug tracker bug 12285
+  (http://qa.mandrakesoft.com/show_bug.cgi?id=12285), when connecting to an
+  IPv6 host with FTP, --disable-epsv (or --disable-eprt) effectively disables
+  the ability to transfer a file. Now, when connected to an FTP server with
+  IPv6, these FTP commands can't be disabled even if asked to with the
+  available libcurl options.
+
+Daniel (26 November 2004)
+- As reported in Mandrake's bug tracker bug 12289
+  (http://qa.mandrakesoft.com/show_bug.cgi?id=12289), curl would print a
+  newline to "finish" the progress meter after each redirect and not only
+  after a completed transfer.
+
+Daniel (25 November 2004)
+- FTP improvements:
+
+  If EPSV, EPRT or LPRT is tried and doesn't work, it will not be retried on
+  the same server again even if a following request is made using a persistent
+  connection.
+
+  If a second request is made to a server, requesting a file from the same
+  directory as the previous request operated on, libcurl will no longer make
+  that long series of CWD commands just to end up on the same spot. Note that
+  this is only for *exactly* the same dir. There is still room for improvements
+  to optimize the CWD-sending when the dirs are only slightly different.
+
+  Added test 210, 211 and 212 to verify these changes. Had to improve the
+  test script too and added a new primitive to the test file format.
+
+Daniel (24 November 2004)
+- Andrés García fixed the configure script to detect select properly when run
+  with Msys/Mingw on Windows.
+
+Daniel (22 November 2004)
+- Made HTTP PUT and POST requests no longer use HEAD when doing multi-pass
+  auth negotiation (NTLM, Digest and Negotiate), but instead use the request
+  keyword "properly". Details in lib/README.httpauth. This also introduces
+  CURLOPT_IOCTLFUNCTION and CURLOPT_IOCTLDATA, to be used by apps that use the
+  "any" auth alternative as then libcurl may need to send the PUT/POST data
+  more than once and thus may need to ask the app to "rewind" the read data
+  stream to start.
+
+  See also the new example using this: docs/examples/anyauthput.c
+
+- David Phillips enhanced test 518. I made it depend on a "feature" so that
+  systems without getrlimit() won't attempt to test 518. configure now checks
+  for getrlimit() and setrlimit() for this test case.
+
+Daniel (18 November 2004)
+- David Phillips fixed libcurl to not crash anymore when more than FD_SETSIZE
+  file descriptors are in use. Test case 518 added to verify.
+
+Daniel (15 November 2004)
+- To test my fix for the CURLINFO_REDIRECT_TIME bug, I added time_redirect and
+  num_redirects support to the -w writeout option for the command line tool.
+
+- Wojciech Zwiefka found out that CURLINFO_REDIRECT_TIME didn't work as
+  documented.
+
+Daniel (12 November 2004)
+- Gisle Vanem modigied the MSVC and Netware makefiles to build without
+  libcurl.def
+
+- Dan Fandrich added the --disable-crypto-auth option to configure to allow
+  libcurl to build without Digest support. (I figure it should also explicitly
+  disable Negotiate and NTLM.)
+
+-                 *** Modified Behaviour Alert ***
+
+  Setting CURLOPT_POSTFIELDS to NULL will no longer do a GET.
+
+  Setting CURLOPT_POSTFIELDS to "" will send a zero byte POST and setting
+  CURLOPT_POSTFIELDS to NULL and CURLOPT_POSTFIELDSIZE to zero will also make
+  a zero byte POST. Added test case 515 to verify this.
+
+  Setting CURLOPT_HTTPPOST to NULL makes a zero byte post. Added test case 516
+  to verify this.
+
+  CURLOPT_POSTFIELDSIZE must now be set to -1 to signal "we don't know".
+  Setting it to zero simply says this is a zero byte POST.
+
+  When providing POST data with a read callback, setting the size up front
+  is now made with CURLOPT_POSTFIELDSIZE and not with CURLOPT_INFILESIZE.
+
+Daniel (11 November 2004)
+- Dan Fandrich added --disable-verbose to the configure script to allow builds
+  without verbose strings in the code, to save some 12KB space. Makes sense
+  only for systems with very little memory resources.
+
+- Jeff Phillips found out that a date string with a year beyond 2038 could
+  crash the new date parser on systems with 32bit time_t. We now check for
+  this case and deal with it.
+
+Daniel (10 November 2004)
+- I installed Heimdal on my Debian box (using the debian package) and noticed
+  that configure --with-gssapi failed to create a nice build. Fixed now.
+
+Daniel (9 November 2004)
+- Gisle Vanem marked all external function calls with CURL_EXTERN so that now
+  the Windows, Netware and other builds no longer need libcurl.def or similar
+  files.
+
+Daniel (8 November 2004)
+- Made the configure script check for tld.h if libidn was detected, since
+  libidn 0.3.X didn't have such a header and we don't work with anything
+  before libidn 0.4.1 anyway! Suse 9.1 apparently ships with a 0.3.X version
+  of libidn which makes the curl 7.12.2 build fail. Jean-Philippe
+  Barrette-LaPierre helped pointing this out.
+
+- Ian Gulliver reported in debian bug report #278691: if curl is invoked in an
+  environment where stderr is closed the -v output will still be sent to file
+  descriptor 2 which then might be the network socket handle! Now we have a
+  weird hack instead that attempts to make sure that file descriptor 2 is
+  opened (with a call to pipe()) before libcurl is called to do the transfer.
+  configure now checks for pipe() and systems without pipe don't get the weird
+  hack done.
+
+Daniel (5 November 2004)
+- Tim Sneddon made libcurl send no more than 64K in a single first chunk when
+  doing a huge POST on VMS, as this is a system limitation. Default on general
+  systems is 100K.
+
+Daniel (4 November 2004)
+- Andres Garcia made it build on mingw againa, my --retry code broke the build.
+
+Daniel (2 November 2004)
+- Added --retry-max-time that allows a maximum time that may not have been
+  reached for a retry to be made. If not set there is no maximum time, only
+  the amount of retries set with --retry.
+
+- Paul Nolan provided a patch to make libcurl build nicely on Windows CE.
+
+Daniel (1 November 2004)
+- When cross-compiling, the configure script no longer attempts to use
+  pkg-config on the build host in order to detect OpenSSL compiler options.
+
+Daniel (27 October 2004)
+- Dan Fandrich:
+
+  An improvement to the gzip handling of libcurl. There were two problems with
+  the old version: it was possible for a malicious gzip file to cause libcurl
+  to leak memory, as a buffer was malloced to hold the header and never freed
+  if the header ended with no file contents.  The second problem is that the
+  64 KiB decompression buffer was allocated on the stack, which caused
+  unexpectedly high stack usage and overflowed the stack on some systems
+  (someone complained about that in the mailing list about a year ago).
+
+  Both problems are fixed by this patch. The first one is fixed when a recent
+  (1.2) version of zlib is used, as it takes care of gzip header parsing
+  itself.  A check for the version number is done at run-time and libcurl uses
+  that feature if it's present. I've created a define OLD_ZLIB_SUPPORT that
+  can be commented out to save some code space if libcurl is guaranteed to be
+  using a 1.2 version of zlib.
+
+  The second problem is solved by dynamically allocating the memory buffer
+  instead of storing it on the stack. The allocation/free is done for every
+  incoming packet, which is suboptimal, but should be dwarfed by the actual
+  decompression computation.
+
+  I've also factored out some common code between deflate and gzip to reduce
+  the code footprint somewhat.  I've tested the gzip code on a few test files
+  and I tried deflate using the freshmeat.net server, and it all looks OK. I
+  didn't try running it with valgrind, however.
+
+- Added a --retry option to curl that takes a numerical option for the number
+  of times the operation should be retried. It is retried if a transient error
+  is detected or if a timeout occurred. By default, it will first wait one
+  second between the retries and then double the delay time between each retry
+  until the delay time is ten minutes which then will be the delay time
+  between all forthcoming retries. You can set a static delay time with
+  "--retry-delay [num]" where [num] is the number of seconds to wait between
+  each retry.
+
+Daniel (25 October 2004)
+- Tomas Pospisek filed bug report #1053287 that proved -C - and --fail on a
+  file that was already completely downloaded caused an error, while it
+  doesn't if you don't use --fail! I added test case 194 to verify the fix.
+  Grrr. CURLOPT_FAILONERROR is now added to the list stuff to remove in
+  libcurl v8 due to all the kludges needed to support it.
+
+- Mohun Biswas found out that formposting a zero-byte file didn't work very
+  good. I fixed.
+
+Daniel (19 October 2004)
+- Alexander Krasnostavsky made it possible to make FTP 3rd party transfers
+  with both source and destination being the same host. It can be useful if
+  you want to move a file on a server or similar.
+
+- Guillaume Arluison added CURLINFO_NUM_CONNECTS to allow an app to figure
+  out how many new connects a previous transfer required.
+
+  I added %{num_connects} to the curl tool and added test case 192 and 193
+  to verify the new code.
+
+Daniel (18 October 2004)
+- Peter Wullinger pointed out that curl should call setlocale() properly to
+  initiate the specific language operations, to make the IDN stuff work
+  better.
+
+Version 7.12.2 (18 October 2004)
+
+Daniel (16 October 2004)
+- 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 (16 October 2004)
+- 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 (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 (10 October 2004)
+- Systems with 64bit longs no longer use 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 (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 (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).
+
+- 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 (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 (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 (2 October 2004)
+- 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.
+
+Daniel (1 October 2004)
+- 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.
+
+Daniel (30 September 2004)
+- 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 (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 (16 September 2004)
+- 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 (11 September 2004)
+- Added parsedate.c that contains a rewrite of the date parser currently
+  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).
+
+Daniel (10 September 2004)
+- 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.
+
+Daniel (31 August 2004)
+- David Tarendash found out that curl_multi_add_handle() returned
+  CURLM_CALL_MULTI_PERFORM instead of CURLM_OK.
+
+Daniel (30 August 2004)
+- Make "Proxy-Connection: close" close the current proxy connection, as Roman
+  Koifman found out.
+
+Daniel (24 August 2004)
+- Fixed a getdate problem by post-replacing the getdate.c file after the
+  bison/yacc process to add the fix Harshal Pradhan suggested. The problem
+  caused a crash on Windows when parsing some dates.
+
+Daniel (23 August 2004)
+- Roman Koifman pointed out that libcurl send Expect: 100-continue on POSTs
+  even when told to use HTTP 1.0, which is not correct. Test case 180 and
+  181 verify this.
+
+- Added test case 182 to verify that zero byte transfers call the callback
+  properly.
+
+Daniel (20 August 2004)
+- Alexander Krasnostavsky made the write callback get called even when a zero
+  byte file is downloaded.
+
+Daniel (18 August 2004)
+- Ling Thio pointed out that when libcurl is built ipv6-enabled, it still did
+  reverse DNS lookups when fed with a numerical IP-address (like
+  http://127.0.0.1/), although it doesn't when built ipv6-disabled. libcurl
+  should never do reverse lookups.
+
+Daniel (17 August 2004)
+- Kjetil Jacobsen noticed that when transferring a file:// URL pointing to an
+  empty file, libcurl would return with the file still open.
+
+- Alexander Krasnostavsky pointed out that the configure script needs to define
+  _THREAD_SAFE for AIX systems to make libcurl built really thread-safe.
+
+  Also added a check for the xlc compiler on AIX, and if that is detect we use
+  the -qthreaded compiler option
+
+Daniel (16 August 2004)
+- 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 (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.
+
+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 (31 July 2004)
+- Joel Chen reported that the digest code assumed quotes around the contents a
+  bit too much.
+
+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 (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.
+
+- 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 (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 (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 (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 (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.
+
+Daniel (27 June 2004)
+- 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)
+- 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 (22 June 2004)
+- 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
+  disconnects prematurely.
+
+Daniel (19 June 2004)
+- Luca Alteas provided a test case with a failing curl operation: when we POST
+  to a site with --digest (or similar) set, and the server responded with a 302
+  Location: to the "authprobe" request, it was not treated correctly. We still
+  will behave badly if FOLLOWLOCATION is enabled for this case, but I'm not
+  in the mood to dive into this right now and will leave it as-is for now.
+  Verified my fix with test case 177.
+
+Daniel (18 June 2004)
+- Gisle Vanem's patch that provides more details from the SSL layers (if you
+  use an OpenSSL version that supports it). It also introduces two new types
+  of data that can be sent to the debug callback: CURLINFO_SSL_DATA_IN and
+  CURLINFO_SSL_DATA_OUT.
+
+- With David Byron's test server I could repeat his problem and make sure that
+  POSTing over HTTPS:// with NTLM works fine now. There was a general problem
+  with multi-pass authentication with non-GET operations with CONNECT.
+
+Daniel (16 June 2004)
+- Modified to keep the upload byte counter in an curl_off_t, not an int as
+  before. 32bits is not enough. This is most likely the bug Jean-Louis Lemaire
+  reported that makes 2GB FTP uploads to report error ("unaligned file sizes")
+  when completed.
+
+Daniel (15 June 2004)
+- Luca Alteas reported a problem that I fixed: if you did a POST with
+  CURLAUTH_DIGEST set but the server didn't require any authentication,
+  libcurl would repeatedly send HEAD lots of times until it gives up. This was
+  actually the case for all multi-pass authentications. Added test case 174,
+  175 and 176 to verify this.
+
+Daniel (14 June 2004)
+- Multipart formposts uploading files no longer inserts the files themselves
+  into the huge prebuilt chunk. This enables libcurl to formpost files that is
+  larger than the amount of system memory. When the file given is passed on
+  stdin, libcurl still uses the old method of reading the full fill before the
+  upload takes place. This approach was selected in order to not alter the
+  behavior for existing applications, as when using stdin libcurl can't know
+  the size of the upload and chunked transfer-encoding can only be used on
+  HTTP 1.1 servers.
+
+Daniel (13 June 2004)
+- Gisle found out that we did wildcard cert name checks wrong, so that parts
+  of the check wrongly was case sensitive.
+
+Daniel (11 June 2004)
+- Tim Sneddon brought a minor VMS fix to make curl build properly on his VMS
+  machine. He also had some interesting libcurl patches... they might be able
+  to do in a slightly nicer way. Discussions are in progress.
+
+Daniel (10 June 2004)
+- Gisle Vanem brought code cleanupsm better verbose output and better connect
+  timeout handling when attempting to connect to a host that resolves to
+  multiple IP addresses.
+
+- Steven Bazyl and Seshubabu Pasam pointed out a bug on win32 when freeing the
+  path after a file:// transfer.
+
+Daniel (9 June 2004)
+- Alexander Krasnostavsky made 'configure --disable-http' work to build libcurl
+  without HTTP support. I added a new return code for curl_formadd() in case
+  libcurl is built with HTTP disable: CURL_FORMADD_DISABLED.
+
+- Alexander Krasnostavsky pointed out a missing file in the generated
+  curllib.dsp file, and now people building with this should get a libcurl.lib
+  file generated as it used to do before we generated this file.
+
+Daniel (8 June 2004)
+- Marty Kuhrt fixed a minor build problem for VMS.
+
+Daniel (7 June 2004)
+- Reverted the configure check from the 4th since it obviously didn't work.
+  Remade it in a different manner that hopefully works better.
+
+Daniel (4 June 2004)
+- Günter Knauf brought patches to make curl build fine on NetWare again.
+
+- Made the configure checks for strerror_r() not exit the configure script
+  when built for cross-compiling.
+
+Daniel (3 June 2004)
+- Chris Gaukroger pointed out that 'make test' attempts to run the tests even
+  if curl is built cross-compiled. I've now made it output a short message
+  instead, saying it isn't possible to do.
+
+- Alexander Krasnostavsky brought FTP 3rd party transfer support to libcurl.
+  You can now use libcurl to transfer files between two remote hosts using
+  FTP. There are a bunch of new options to control this with:
+   CURLOPT_SOURCE_HOST
+   CURLOPT_SOURCE_USERPWD
+   CURLOPT_SOURCE_PATH
+   CURLOPT_SOURCE_PORT
+   CURLOPT_PASV_HOST
+   CURLOPT_SOURCE_PREQUOTE
+   CURLOPT_SOURCE_POSTQUOTE
+
+  (They still remain to be documented properly in the curl_easy_setopt man
+  page.)
+
+  When using this, the ordinary CURLOPT_URL specifies the target URL, and you
+  specify the source data with these additional options. ftp3rdparty.c is a
+  new example source code showing how to use this.
+
+- Vincent Bronner fixed the HTTP Digest code to use the proxy user name and
+  password when doing proxy authentication, it previously always used the host
+  user name and password!
+
+Daniel (2 June 2004)
+- CURLOPT_UPLOAD and CURLOPT_PUT now do the exact same thing internally, which
+  fixes some old confusions on when which of these should be used and what the
+  differences are.
+
+- Applied Gisle's fixes to make curl build fine with lcc-win32
+
+Version 7.12.0 (2 June 2004)
+
+Daniel (1 June 2004)
+- I clarified the --create-dirs option somewhat in the curl man page.
+
+- Renaud Duhaut corrected the curl_unescape man page.
+
+- David Byron modified one of Massimiliano Ziccardi's recent MSVC makefile
+  changes to now again use the mm lib by default.
+
+Daniel (26 May 2004)
+- Mohun Biswas added release-zlib and debug-zlib targets to the MSVC libcurl
+  Makefile
+
+- David Byron reported a problem with proxy authentication when doing CONNECT,
+  like when accessing HTTPS sites wiht a proxy. This probably broke when I
+  rewrote the auth stuff recently.
+
+- I added fileupload.c in the examples directory, showing how an upload to a
+  file:// URL is made.
+
+Daniel (25 May 2004)
+- Massimiliano Ziccardi updated the MSVC makefiles.
+
+Daniel (24 May 2004)
+- libcurl now supports "uploading" to file:// URLs. Test 204 and 205 were
+  added to verify.
+
+- Simon Josefsson added a idn_free() function in libidn 0.4.5 as a reaction to
+  Gisle's previous mail. We now use this function, and thus we require libidn
+  0.4.5 or later. No earlier version will do.
+
+- Robert D. Young reported that CURLOPT_COOKIEFILE and CURLOPT_COOKIE could
+  not be used both in one request. Fixed it and added test case 172 to verify.
+
+Daniel (21 May 2004)
+- While talking to host a.b.c, libcurl did wrongly not accept cookies that
+  were set to the domain .a.b.c (that is with a dot prefix). This is now fixed
+  and test case 171 verifies it.
+
+Daniel (20 May 2004)
+- Jesse Noller reported that the upload speed info reported by libcurl was
+  wrong. The same was true for the download speed. Fixed now.
+
+Daniel (19 May 2004)
+- David Byron added test case 170 - this used to crash the previous version of
+  curl.
+
+Daniel (17 May 2004)
+- Peter Sylvester's patch that addresses two flaws in the peer certificate
+  name verification:
+  o when multiple common names are used (as in the curl tests), the last name
+    needs to be selected.
+  o allow comparing with encoded values, at least with BMP and ISO latin1
+    encoded T61strings.
+
+- All 191 test cases run through the torture test OK! 'make test-torture' is
+  now available in the root makefile (on configure-based environments).
+
+Daniel (14 May 2004)
+- With a slightly modified ftpserver.pl I've now run almost all tests through
+  with runtests.pl -t. This is goodness!
+
+- Since I have been unable to contact the CVS admins for several months, I've
+  decided that the current CVS hosting was not good enough. I've now moved the
+  CVS repo once again, see README for updated cvs checkout instructions.
+
+Daniel (13 May 2004)
+- runtests.pl -t now runs fine all the way to test 100. I believe test case
+  100 fails because of an FTP server problem.
+
+Daniel (12 May 2004)
+- General cleanups all over to make libcurl survive and do well when a memory
+  function returns NULL. runtests.pl -t now works fine for the first 26 test
+  cases.
+
+Daniel (11 May 2004)
+- Seshubabu Pasam provided a patch that introduces curl_global_init_mem() -
+  like normal curl_global_init() but allows the app to replace all memory
+  functions with its own set. I modified it slightly.
+
+- Based on Luca Alteas' comments, I modified the curllib.dsp generation code.
+
+Daniel (10 May 2004)
+- Gisle mailed Simon Josefsson (of libidn fame) about the benefits of a
+  separate free()-function by that lib to make sure the memory is freed by the
+  same memory subsystem that allocated it. He responded positively and this
+  will likely cause us to require a newer version of libidn as soon as Simon
+  releases one with such a libidn_free() function.
+
+- James Bursa made runtests.pl's -t option work for any given test case, and I
+  edited to allow -g too. Not even test case 1 worked...
+
+- Luca Altea made the nc= field not use quotes in outgoing HTTP Digest headers.
+
+- Andrés García fixed a problem in the test script that made it fail to
+  recognize our own running HTTP server.
+
+Daniel (7 May 2004)
+- James Bursa fixed the memanalyze.pl script to conder malloc(0) areas OK to
+  free() and he made two failed-resolve error messages use the new display-
+  name instead of the internally-used name.
+
+- Gisle Vanem tried curl with
+  www.etdomenenavnkanmaksimaltinneholdesekstitrebokstaversliksomdette.com
+  which caused problems, and I fixed the single zero byte buffer overwrite
+  that occurred (due to a stupid protocol buffer size and parser).
+
+- Made the lib/curllib.dsp file get generated automaticly when a distribution
+  package is made, with the msvcproj.* files as templates and all
+  win32-sources added. I think this can be made to work better than the always
+  lagging-behind previous approach. I'm not sure this builds a working project
+  file right now though!
+
+Daniel (6 May 2004)
+- Michael Benedict brought a fix that fills in the errorbuffer properly when
+  ares fails to resolve a name for a case not previously dealt with like this.
+
+Daniel (5 May 2004)
+- Joe Halpin fixed the annoying typecast warning in lib/ldap.c
+
+- Gisle Vanem fixes:
+  o memdebug to not access NULL on several places
+  o libcurl.def; curl_formparse is gone.
+  o progress.c; fixed the percent values being trunced to 0.
+  o if2ip.*; constified the 'interface' argument.
+
+- Tor Arntsen reported that many of his autobuilds froze and I found and fixed
+  a problem introduced with the HTTP auth overhaul that could lead to a
+  never-ending internal request-loop due to un-initialized variables!
+
+- Removed several compiler warnings on various compilers/platforms.
+
+Daniel (4 May 2004)
+- curl_formparse() has been removed from the library. It has been marked and
+  mentioned as deprecated for several years.
+
+Daniel (3 May 2004)
+- Rewritten HTTP authentication code. The previous code could not properly
+  deal with the added test cases 167, 168 and 169. I've now rewritten the code
+  to better separate host and proxy authentication and not re-use the same
+  variables as much as before as it proved non working in the more involved
+  cases. All the current tests run OK now, and so do the new ones. The curl
+  tool got a new option named --proxy-digest to enable HTTP Digest
+  authentication with the proxy. I also made the library support it.
+
+- Gisle Vanem made the LDAP code work with wldap32.dll as supplied with
+  Win-98/ME/2000/XP, so no extra .dlls are required when curl/libcurl is used
+  on these Windows versions.
+
+Daniel (30 April 2004)
+- runtests.pl now scans the valgrind log for valgrind-detected memory leaks
+  after each test case if valgrind was found and used.
+
+- I modified the app-code in curl to include the new lib/curlx.h and only
+  access those functions using the curlx_-prefix in preparation for the future
+  removal of several curl_-functions from the public libcurl API.
+
+- Introduced lib/curlx.h as a single header to provide the curlx_-functions
+  to apps.
+
+- Added notices in the man pages for curl_getenv, curl_mprintf, curl_strequal
+  and curl_strnequal that they are subject for removal in a future release.
+  STOP USING THESE FUNCTIONS.
+
+- Mihai Ionescu noticed he couldn't do formposts with whitespace in the file
+  names and yes, I broke that on April 23. Sigh. I fixed it now and added
+  test case 166 to verify it.
+
+- Luca Altea pointed out a mistake left from the Digest patch of yesterday.
+
+Daniel (29 April 2004)
+- Made IDN domains work when sending requsts over HTTP proxy as well. Added
+  test case 165 to verify the functionality.
+
+- Fixed a bug in the new internal host name setup when re-using connections.
+
+- James Bursa found out that curl_easy_duphandle() with ares-built libcurl
+  created a bad handle that would crash in the first name resolve attempt. This
+  is now fixed and test case 512 was added to verify it.
+
+- Luca Altea provided a major HTTP Digest code fix and cleanup. We now follow
+  the Digest RFC a lot better.
+
+- Gisle Vanem made the SSL code use ERR_error_string_n() where applicable.
+
+Daniel (27 April 2004)
+- I remodeled Gisle's IDN code slightly and now we convert both the host name
+  and proxy name to the ACE encoded version to use internally for resolves and
+  cookies etc. They are now using one 'struct hostname' each that keep both
+  the original name and the possibly encoded name. IDN resolves work for me
+  now using ipv6, ipv4 and ares resolving. Even cookies on IDN sites seem to
+  do right. I got some failures at first when CHARSET wasn't set at all which
+  confused libidn completely and it decided by encoding of choice was
+  'ANSI_X3.4-1968'...
+
+- made 'configure --without-libidn' work
+
+Daniel (25 April 2004)
+- Fixed the src/hugehelp.c file to include "setup.h" instead of "config.h" to
+  make the problems with USE_MANUAL on windows go away.
+
+- configure --without-ssl could still wrongly include some OpenSSL info in the
+  Makefiles if pkg-config had info about OpenSSL. Bug #941762 reported by
+  Martin.
+
+- Since we can now build and use quite a large set of 3rd party libraries, I
+  decided I would make configure produce a summary at the end showing what
+  libraries it uses and if not, what option to use to make it use that. I also
+  added some other random info that is nice in a "configure summary" output.
+
+- Applied TommyTam's patch that now make curl work with telnet and stdin
+  properly on Windows.
+
+- The changes for today below were made by me and Gisle Vanem.
+
+  The file previously known as hostip.c has now undergone a huge cleanup and
+  split:
+
+  hostip.c explained
+  ==================
+
+  The main COMPILE-TIME DEFINES to keep in mind when reading the host*.c
+  source file are these:
+
+  CURLRES_IPV6 - this host has getaddrinfo() and family, and thus we use
+  that. The host may not be able to resolve IPv6, but we don't really have to
+  take that into account. Hosts that aren't IPv6-enabled have CURLRES_IPV4
+  defined.
+
+  CURLRES_ARES - is defined if libcurl is built to use c-ares for asynchronous
+  name resolves. It cannot have ENABLE_IPV6 defined at the same time, as
+  c-ares has no ipv6 support. This can be Windows or *nix.
+
+  CURLRES_THREADED - is defined if libcurl is built to run under (native)
+  Windows, and then the name resolve will be done in a new thread, and the
+  supported asynch API will be the same as for ares-builds.
+
+  If any of the two previous are defined, CURLRES_ASYNCH is defined too. If
+  libcurl is not built to use an asynchronous resolver, CURLRES_SYNCH is
+  defined.
+
+  The host*.c sources files are split up like this:
+
+  hostip.c   - method-independent resolver functions and utility functions
+  hostasyn.c - functions for asynchronous name resolves
+  hostsyn.c  - functions for synchronous name resolves
+  hostares.c - functions for ares-using name resolves
+  hostthre.c - functions for threaded name resolves
+  hostip4.c  - ipv4-specific functions
+  hostip6.c  - ipv6-specific functions
+
+  The hostip.h is the single united header file for all this. It defines the
+  CURLRES_* defines based on the config*.h and setup.h defines.
+
+- Added function header comments to many functions in an attempt to better
+  explain the purpose of them all.
+
+- configure --with-libidn is now supported. It makes the configure script
+  check for libidn libs and include files in the prefix path given. If you
+  say --with-libidn=/usr/local, it will check for the lib in /usr/local/lib
+  and the includes in /usr/local/include etc.
+
+- curl_version_info() now returns a struct aged CURLVERSION_THIRD including
+  libidn version info. The string curl_version() returns also includes libidn
+  version info, if available.
+
+Version 7.11.2 (26 April 2004)
+
+Daniel (25 April 2004)
+- Erwin Authried pointed out that configure --disable-manual didn't do right
+  if you already had a src/hugehelp.c source file present (which most people
+  do I guess). It now uses the USE_MANUAL define properly.
+
+Daniel (23 April 2004)
+- Gisle Vanem found and fixed a memory leak when doing (failing) Windows
+  threaded name resolves.
+
+- I also added test case 163 just to make sure -F "var=<file" works fine and
+  can pass on characters such as newlines, carriage-return and tabs.
+
+- When we added test case 162 without adding the necessary requirement field
+  in the test meta data we could see that curl didn't complain if you used
+  --proxy-ntlm even if the underlying libcurl it uses has no NTLM support! I
+  now made it check this first, and it now exists with a "the installed
+  libcurl version doesn't support this" message if it happens again.
+
+Daniel (22 April 2004)
+- David Byron found and fixed a small bug with the --fail and authentication
+  stuff added a few weeks ago.  Turns out that if you specify --proxy-ntlm and
+  communicate with a proxy that requires basic authentication, the proxy
+  properly returns a 407, but the failure detection code doesn't realize it
+  should give up, so curl returns with exit code 0. Test case 162 added to
+  verify the functionality.
+
+- allow newlines in the contents when doing -F "var=[contents]"
+  Robert Marlow reported.
+
+- If a transfer is found out to be only partial, libcurl will now treat that
+  as a problem serious enough to skip the final QUIT command before closing
+  the control connection. To avoid the risk that it will "hang" waiting for
+  the QUIT response. Added test case 161 to verify this.
+
+Daniel (21 April 2004)
+- Modified the heuristics for dealing with the test 160 scenario. When a
+  connection is re-used and nothing at all is received from it (because the
+  server closes the connection), we will now retry the request on a fresh new
+  connection. The previous ECONNRESET stuff from January 30 was removed again
+  as it didn't detect the situation good enough.
+
+Daniel (20 April 2004)
+- Added test case 160 to verify that curl works correctly when it gets a
+  connection reset when trying to re-use a connection. It should then simply
+  create a new connection and resend the request.
+
+Daniel (19 April 2004)
+- No more 512 byte limit for host name (inclusing name + password) in libcurl.
+  An added bonus is that we use less memory for the typical (shorter URL)
+  case.
+
+- Cleaned up the sources to better use the terms 'hostname' and 'path'
+  internally when referring to that data. The buffers used for keep that info
+  is called 'namebuffer' and 'pathbuffer'. Much easier to read and understand
+  than the previous mess.
+
+Daniel (15 April 2004)
+- Modified runtests.pl again to remove all log files in the log/ dir between
+  each test, and then made -p display all non-zero byte files in the log dir.
+  It should make that data more usable and contain less rubbish.
+
+- ftpserver.pl now produces log files more similar to how the sws ones look
+  and they now also contains a bit more details to help debugging ftp
+  problems.
+
+- Removed the fixed maximum amount of dir levels the FTP code supported.
+  Previously we had a fixed array for 100 levels, now we save space in each
+  handle by allocating only for a few level by default and then enlarging that
+  in case of need (with no maximum depth). Adjusted test case 142 to verify
+  that 150 dir levels work fine.  An added bonus is that we use less memory
+  for the typical (not very deep) case.
+
+Daniel (14 April 2004)
+- Asking for CURL_IPRESOLVE_V6 when ipv6 addresses can't be resolved will
+  now cause the resolve function to return NULL immediately. This flaw was
+  pointed out by Gisle Vanem.
+
+- Gisle Vanem made curl -4/-6 actually set the desired option to libcurl.
+
+- runtests.pl now has a new option (-p) that will display "interesting" log
+  files to stdout in case of a test failure. This is primarily intended to be
+  used in the 'full-test' make target that is used by the autobuild tests, as
+  we then get a much better chance to understand (remote) test failures based
+  on autobuild logs alone.
+
+Daniel (13 April 2004)
+- Gisle Vanem made the multi interface work again on Windows even when built
+  without ares. Before this, select() would return -1 during the name resolve
+  phase since curl_multi_fdset() didn't return any fd_set at all which wasn't
+  appreciated!
+
+- curl_easy_duphandle() now duplicates the tcp_nodelay info as well.
+
+Daniel (11 April 2004)
+- Applied David Byron's patch for the MSVC libcurl makefile for builds with
+  zlib.
+
+Daniel (9 April 2004)
+- Dirk Manske improved the timer resolution for CURLINFO_*_TIME, it can now
+  be down to usec if the system sypports it.
+
+Daniel (7 April 2004)
+- A request that sends "Expect: 100-continue" and gets nothing but a single
+  100 response back will now return a CURLE_GOT_NOTHING. Test 158 verifies.
+
+- The strtoofft() macro is now named curlx_strtoofft() to use the curlx_*
+  approach fully.
+
+Daniel (6 April 2004)
+- Gisle Vanem's fixed bug #927979 reported by Nathan O'Sullivan. The problem
+  made libcurl on Windows leak a small amount of memory in each name resolve
+  when not used as a DLL.
+
+- New authentication code added, particularly noticable when doing POST or PUT
+  with Digest or NTLM. libcurl will now use HEAD to negotiate the
+  authentication and when done perform the requested POST. Previously libcurl
+  sent POST immediately and expected the server to reply a final status code
+  with an error and then libcurl would not send the request-body but instead
+  send then next request in the sequence.
+
+  The reason for this change is due to IIS6 barfing on libcurl when we attempt
+  to POST with NTLM authentication. The reason for the problems is found in
+  RFC2616 section 8.2.3 regarding how servers should deal with the 100
+  continue request-header:
+
+        If it responds with a final status code, it MAY close the transport
+        connection or it MAY continue to read and discard the rest of the
+        request.
+
+  Previous versions of IIS clearly did close the connection in this case,
+  while this newer version decided it should "read and discard". That would've
+  forced us to send the whole POST (or PUT) data only to have it discarded and
+  then be forced to send it again. To avoid that huge penality, we switch to
+  using HEAD until we are authenticated and then send the POST.
+
+  The only actual drawback I can think of (except for the odd sites that might
+  treat HEAD differently than they would treat POST/PUT when given the same
+  URL) is that if you do POST with CURLAUTH_ANY set and the site requires NO
+  authentication, libcurl will still use a HEAD in a first round and then do a
+  POST.
+
+  If you do a HEAD or a GET on a site using CURLAUTH_ANY, libcurl will send
+  an un-authenticated request at once, which then is the only request if the
+  site requires no auth.
+
+  Alan Pinstein helped me work out the protocol details by figuring out why
+  libcurl failed and what IIS6 expects.
+
+- The --limit-rate logic was corrected and now it works a lot better for
+  higher speeds, such as '10m' or similar. Reported in bug report #930249.
+
+- Introducing curlx_tvnow() and curlx_tvdiff() using the new curlx_* fashion.
+  #include "timeval.h" from the lib dir to get the protos etc.  Note that
+  these are NOT part of the libcurl API. The curl app simply uses the same
+  source files as the library does and therefore the file needs to be compiled
+  and linked with curl too, not just when creating libcurl.
+
+- lib/strerror.c no longer uses sys_nerr on non-windows platforms since it
+  isn't portable enough
+
+Daniel (2 April 2004)
+- In the curl_strnqual.3 man page, we now prepend the man3 dir to the file
+  name to work better. As pointed out by Robin Kay.
+
+- Andrés García updated the mingw makefiles.
+
+- Dirk Manske fixed a problem I recently added in the progress meter code that
+  broke subsecond resolution for CURLINFO_TOTAL_TIME. He also pointed out a
+  mistake in the code that produces the final update of the progress meter
+  that would often prevent it from actually being updated that final time.
+
+Daniel (1 April 2004)
+- Dirk Manske fixed a memory leak that happened when we use ares for name
+  resolves and decides to time-out before ares does it. This fix uses the
+  brand new ares_cancel() function which is not present in c-ares 1.1.0.
+
+  When told to enable ares, the configure script now checks for presence of
+  the ares_cancel function to alert users if they attempt to use a too old
+  c-ares library.
+
+Daniel (31 March 2004)
+- Roy Shan fixed a flaw that prevented ares name resolve timeouts to occur!
+
+- Dirk Manske found out that libcurl timed out waiting for resolves far too
+  easy when libcurl was built to use (c-)ares for name resolving.
+
+- Further Digest fixing and a successful test case 153 now makes me believe
+  Mitz Wark's problems are fixed.
+
+- Andres Garcia figured out that test case 63, while working, only proved a
+  flaw in libcurl's 'http_proxy' parser when a user name and password is
+  provided. The user name was not extracted properly (and 'http' was always
+  used as user name).
+
+- Andrés García fixed compiler warnings in our ioctlsocket() usage.
+
+Daniel (30 March 2004)
+- Joe Halpin faced problems with the getnameinfo() argument ai_flags and the
+  particular bit named 'NI_WITHSCOPEID' on Solaris 9 for Intel.  I've now
+  written a configure test that checks for a working NI_WITHSCOPEID
+  implemenation. No code uses the result from this test yet, it is still
+  experimental. James Carlson wrote in comp.unix.solaris: "It's a bug
+  (5006623) -- it's not supported and shouldn't be in the header file."
+
+- I provided Mitz Wark with a first patch in order to fix libcurl's problems
+  to re-negotiate Digest authentication (when 'stale=true' is included in the
+  response header).
+
+- Roy Shan discovered that the multi interface didn't properly timeout name
+  lookups which could make handles get stuck in that state and thus never get
+  completed. I've produced a first test patch that attempts to correct this.
+
+- David Byron's patch was appplied to make CURLOPT_FAILONERROR work nicely
+  even with authentcations such as NTLM or Digest enabled. Test cases 150, 151
+  and 152 were added to verify the functionality.
+
+Daniel (29 March 2004)
+- Gisle Vanem updated files for the djgpp/MS-DOS build.
+
+- Andrés García helped me work out a fix for the runtests.pl script to make
+  the file:// tests run fine when tested with the mingw-built version of curl.
+
+- Fixed an include issue with netinet/tcp.h on AIX, based on input by Tor.
+  This also required a minor fix of the configure script.
+
+- The postit2.c source example used the wrong struct name for the post data.
+
+Daniel (26 March 2004)
+- Gisle Vanem improved ipv6 support on windows by making the curl build to use
+  the correct getaddrinfo() function.
+
+Daniel (25 March 2004)
+- It turned out that AIX, despite having a "thread-safe libc", doesn't offer
+  all traditional functions thread-safe. This URL is informative on this
+  subject:
+
+    http://publibn.boulder.ibm.com/doc_link/en_US/a_doc_lib/aixprggd/ \
+    genprogc/thread_quick_ref.htm
+
+  As a result of this, we now check for three *_r() functions on recent AIX
+  versions as well that the URL mentions aren't thread-safe in AIX 5.1.
+
+- renamed curl_strerror.[ch] to strerror.[ch]
+
+- Joe Halpin added CURLOPT_TCP_NODELAY and --tcp-nodelay to make it possible
+  for users to disable the Nagle algorthim-usage.
+
+- Tor Arntsen provided some interesting strerror_r() knowledge. glibc has its
+  own API which differs from the POSIX one. Daniel adjusted the configure
+  script to detect the version in use, and the code now uses the new defines
+  accordingly.
+
+- Fixed some build flaws with the new lib/curl_strerror.c source file.
+
+Daniel (24 March 2004)
+- Gisle Vanem's fix to replace the bad use of strerror(). This introduces
+  Curl_strerror() that attempts to be thread-safe _and_ works on Windows too!
+
+- Tor Arntsen spell-fixed lots of libcurl man pages.
+
+- Tor Arntsen made testcurl.pl work with older perl 5 versions, and Daniel
+  made it not use chdir .. to go back, as that isn't very good when you've
+  setup a testdir containing symlinks.
+
+- Added a check for strerror_r() in the configure script.
+
+Daniel (23 March 2004)
+- Added Greg Hewgill's testcurl.pl script to CVS. We have not moved over to
+  use this script for the real distributed testing just yet, but it is only
+  a matter of time.
+
+- Gisle Vanem provided code that makes curl report a better error message
+  if --interface fails on windows.
+
+- The regular progress meter is now fixed to never wrap due to long lines. All
+  fields are now static sized. If the time in the time fields get a time value
+  that would represent a time that is 100 hours or more (if not, it remains
+  using a HH:MM:SS display), it switches first to a "NNNd NNh" display (for
+  days and hours) and if that isn't enough it switches to a "NNNd" display if
+  it is more than 999 days.
+
+  Several of the calculations were also moved to fixed-point math instead of
+  using doubles.
+
+Daniel (22 March 2004)
+- Glen Nakamura noticed CURLINFO_CONTENT_LENGTH_DOWNLOAD didn't work as it
+  used to do if CURLOPT_NOBODY is set TRUE.
+
+- Kevin Roth patched the cygwin package makefile and README to adjust to
+  new cygwin packaging guidelines.
+
+- Enabled "NT responses" in the NTLM authentication. Doing this simply means
+  that we provide an extra chunk of data in each "type-3 message". The only
+  reason for doing this is that it seems that using only the "Lanmanager hash"
+  (as we've been doing until now) doesn't support passwords longer than 14
+  characters and it turns out there are users out there who want to use
+  libcurl and NTLM with such passwords! ;-) Seven NTLM-related test cases were
+  updated accordingly. Mentioned as issue 29 in TODO-RELEASE, bug report
+  #915609
+
+- Moved the generated libcurl version info to a new header file, named
+  curl/curlver.h. Now interested parties can include ONLY version info, should
+  anyone want that (and it seems at least some windows resource files would).
+  Mentioned as issue 27 in TODO-RELEASE.
+
+Daniel (21 March 2004)
+- Fixed the root Makefile to use tabs for the netware target. Günter Knauf
+  pointed this out.
+
+- Marty Kuhrt's VMS cleanup
+
+- Thomas Schwinge made buildconf recognize ACLOCAL_FLAGS to invoke aclocal
+  with particular pre-determined options.
+
+Version 7.11.1 (19 March 2004)
+
+Daniel (18 March 2004)
+- Tor Arntsen brought some info about SGI IRIX:
+
+  IRIX supports 3 different executable/object formats, -32, -n32 and -64.
+  -n32 is default 32-bit format, -32 is the "old" 32-bit format, and -64 is
+  the 64-bit format.  Libraries for the different formats are in lib, lib32
+  and lib64 respectively.
+
+  We've now adjusted the configure script to adapt to this when scanning for
+  3rd party libs, such as OpenSSL.
+
+Daniel (17 March 2004)
+- Watz pointed out a few missing files in the MSVC project description file.
+
+- Günter Knauf brought patches, code and makefiles to build curl on Novell
+  NetWare.
+
+Daniel (15 March 2004)
+- Lots of libcurl man pages were updated to contain references to other man
+  pages the recognized way so that they appear as nice hyperlinks in the HTML
+  versions.
+
+- buildconf now checks the m4 version too, since autoconf requires a GNU m4
+  version to build proper configure scripts.
+
+Daniel (12 March 2004)
+- Added CURLOPT_POSTFIELDSIZE_LARGE, the large file version of
+  CURLOPT_POSTFIELDSIZE to allow POSTs larger than 2GB.
+
+- David Byron fixed an uninitialized variable case/crash.
+
+Daniel (10 March 2004)
+- Jeff Lawson fixed the SSL connection to deal with received signals during the
+  connect.
+
+- Changed the OS string for win32 to become "i386-pc-win32".
+
+Daniel (9 March 2004)
+- Changed the internals to use curl_socket_t for socket variable type. This
+  should enable us to build with less warnings on Windows, where SOCKET is
+  used which is an unsigned int, while most other platforms use a mere int.
+
+- Modified lib/config-win32.h to build fine on MSVC again.
+
+Version 7.11.1-pre1 (8 March 2004)
+
+Daniel (8 March 2004)
+- Minor fix to make curl CURL_VERSION_LARGEFILE is only set if curl_off_t is
+  larger than 4 bytes.
+
+Daniel (4 March 2004)
+- Improved PUT/POST with NTLM/Digest authentication, the so called issue 12.
+
+- Modified the test HTTP server a lot to work with the upcoming changes for
+  PUT/POST with NTLM/Digest authentication (like test case 88). Added Andrés
+  García's win32-changes. Improved the logging.
+
+- Fixed the file:-related progress/getinfo stuff a bit more.
+
+Daniel (4 March 2004)
+- I corrected a problem with the multi interface when following a Location:
+  header or when doing multiple-request authentications. A subsequent request
+  could erroneously re-use a previous connection that was sent with
+  Connection: close. Christopher R. Palmer reported.
+
+- Andrés García patched curl to prevent warnings while compiling with mingw,
+  mainly because it is now possible to have both WIN32 and HAVE_CONFIG_H
+  defined.
+
+- When transferring files from a file: URL, the progress meter and other
+  transfer metrics were not updated properly.
+
+- David Byron provided a "version resource" file to the curl executable for
+  the windows builds.
+
+Daniel (3 March 2004)
+- David Byron's work on making libcurl only require winsock 1.1 on Windows
+  machines.
+
+- More variable cleanups based on compiler warnings generated by Tor Arntsen's
+  autobuilds with MIPSPro.
+
+- Joe Halpin helped us fix some pedantic compiler warnings on FreeBSD.
+
+- Applied Tom Bates' patch to build on nsr-tandem-nsk.
+
+- Dan Fandrich corrected some flaws in the configure GSS detection.
+
+Daniel (2 March 2004)
+- Fixed the libcurl code to use FORMAT_OFF_T for printf() formatting
+  curl_off_t types internally.
+
+Daniel (1 March 2004)
+- Added CURL_VERSION_LARGEFILE as a feature-bit in the curl_version_info()
+  response, that signals if this libcurl supports >2GB files. curl -V now
+  outputs 'Largefile' in the Features: field if this is the case. Most systems
+  are likely to support this.
+
+- We offer a CURL_FORMAT_OFF_T define in the public header, which can be used
+  to printf() curl_off_t variables. We also modified the libcurl sources to
+  use this define instead of the previous %Od approach (although I've left the
+  O-flag functional in the code). This should also prevent compilers to warn
+  on the home-grown option.
+
+- Fixed the resume-check code to test for a working resume at the end of the
+  headers and not at the first body-byte.
+
+- CURLOPT_DNS_USE_GLOBAL_CACHE is now considered obsolete. Stop using it. If
+  you need a global DNS cache for whatever reason, use the share interface and
+  you'll get a global cache that works the way it should work. You can even
+  have any number of global caches, all at your command. This is now also
+  mentioned in the docs.
+
+- Made the *printf code support the z-flag to enable size_t printf() in a
+  manner similar to how glibc allows it. To make printfing of this work on
+  platforms with 64bit size_t and 32bit ints. If there even are any! ;-)
+
+- Christopher R. Palmer discovered that if you CURLOPT_FRESH_CONNECT and
+  CURLAUTH_NTLM (or CURLAUTH_ANY and libcurl then picked NTLM), libcurl would
+  loop without succeeding to authenticate due to the new connection that was
+  made for all round-trips in the authentication. Now, the FRESH_CONNECT is
+  remade to only matter for the first connection made with curl_easy_perform()
+  and all the rest that might follow due to FOLLOWLOCATION or HTTP
+  authentication are now ignoring that option.
+
+- Adjusted the QUIT code slightly since it could core-dump.
+
+- Corrected the test suite's FTP server to provide a correct size to the
+  'verifiedserver' request.
+
+Daniel (27 February 2004)
+- Joe Halpin made the FTP code send QUIT on the control connection before
+  disconnecting the TCP connection. This is what good-behaving ftp clients
+  should do.
+
+Daniel (26 February 2004)
+- David Byron updated several files to make curl build fine on MSVC 6. He
+  also added the 'buildconf.bat' that works like the 'buildconf + configure'
+  combo does on unixes.
+
+- Gisle Vanem made the memdebug stuff support calloc() as well.
+
+- Tor Arntsen pointed out that testcurl.sh needed to remove the generated
+  files in order to have them re-generated in each build.
+
+- Andy Serpa found out that the share interface did not enjoy life when not
+  having the lock and unlock callbacks set, even though documented to be
+  OK. It still is OK, and now the code won't segfault anymore!
+
+Daniel (25 February 2004)
+- Based on a patch by Greg Hewgill I modified how long long is used in the
+  mprintf code, as we can use a 64bit type with MSVC that is a long long
+  equivalent. This corrects some weird large file behaviors on windows.
+
+- Tor Arntsen helped me work out --enable-debug to work better with different
+  versions of the gcc and icc compilers.
+
+- Added CURLOPT_SHARE to the curl_easy_setopt.3 man page.
+
+Daniel (22 February 2004)
+- Applied the final pieces of Gisle Vanem's patch that brings a working name
+  resolve timeout to the windows versions of curl!
+
+Daniel (21 February 2004)
+- David Byron's fix to allow the speed-limit logic work even if you set
+  limit-rate. It does work on the expense of the rate limiter.
+
+Daniel (20 February 2004)
+- configure --enable-debug with gcc now also tries to detect the icc compiler
+  (which somehow gets treated as if it is a gcc) to stop using all the gcc
+  options with it, and we also provide -isystem options for each extra -I
+  option the configure script has figured out (for OpenSSL, kerberos, zlib,
+  Heimdal etc). This of course to prevent warnings on headers we don't have
+  control of.
+
+Daniel (19 February 2004)
+- Doug Porter made libcurl use the HOME environment variable before the
+  getpwuid results when looking for .netrc files.
+
+- If 'configure --enable-debug' is used with gcc, it now checks which gcc
+  version it is and uses as picky compiler options as possible for the
+  particular version.
+
+- Code that can be used in both the lib and in the curl app is now made to use
+  the curlx_ prefix. The first function to be available like this is the
+  curlx_strtoll() function. This is made to allow the app to use existing code,
+  but without polluting the libcurl API. Further explanations posted here:
+
+    http://curl.haxx.se/mail/lib-2004-02/0215.html
+
+Daniel (18 February 2004)
+- Fixed buildconf to not use "which" as AIX and Tru64 have what have been
+  referred to as "horribly broken 'which' programs".
+
+- Made sure dns cache timeout set to -1 really means caching forever.
+
+Daniel (17 February 2004)
+- Made it possibly to build c-ares with the libcurl memdebug system to better
+  track memory.
+
+Daniel (16 February 2004)
+- When using ares, we now initialize the ares 'channel' in curl_easy_init()
+  and re-use that same handle during the entire curl handle's life-time. It
+  improves performance.
+
+- Fixed a problem when displaying verbose for ipv6-enabled libcurls and
+  re-used connections. Problem reported and fix verified by Grigory Entin.
+
+- Jeff Lawson fixed the version-check in the SOCKS5 code.
+
+Daniel (15 February 2004)
+- Fixed a case where a host cache entry was not flagged in-use properly when a
+  cached entry was used.
+
+- Andrés García's patch that checks for winmm in the configure script was
+  applied.
+
+Daniel (13 February 2004)
+- Ben Greear's SO_BINDTODEVICE patch for the binding of the local end to a
+  specific network interface.
+
+- Greg Hewgill found out that the variable holding 'contentlength' wasn't big
+  enough to hold a large file!
+
+- Tor Arntsen fixed a 64bit-related problem in date-related code in the ftp
+  department, and there was another potential problem in the name resolve code
+  too.
+
+Daniel (11 February 2004)
+- Removed a few variables that were only set but never used, as some compilers
+  warn about that and we do not like compiler warnings!
+
+- Removed the need for symlinks in the tests/data directory if curl is built
+  outside of the source directory and the 'make test' is used. This was done
+  by providing a "source dir path" to the scripts/servers.
+
+- Now, if the configure script can't find an nroff tool or an option to nroff
+  to use to convert man pages with, it will completely switch off the built-in
+  manual.
+
+- 'configure --disable-manual' completely disables the built-in manual from
+  the curl command tool.
+
+- Andrés García fixed the configure script and a minor source edit, and now
+  he has managed to get msys/mingw to run configure and then build!
+
+Daniel (9 February 2004)
+- The default HTTP Accept: header was modified to the much simpler
+  "Accept: */*".
+
+- P R Schaffner updated the curl-ssl spec file for RPMs.
+
+- Dominick Meglio brought lots of documentation for the share interface's man
+  pages that were previously missing.
+
+- Tor Arntsen provided a patch that makes libcurl work-around a bug in the
+  AIX5 implementation of getaddrinfo(). This makes the FTP PORT stuff work on
+  ipv6-enabled AIX builds.
+
+- Ken Rastatter provided portability fixes for the curlgtk.c example, and now
+  it runs on windows with GTK as well!
+
+Daniel (6 February 2004)
+- Andrés García made the configure script find gethostbyname() fine when run
+  with mingw on windows.
+
+- Modified the ldap code to use proper function pointers all over (instead of
+  mixed data and function pointers) to work-around the picky MIPSPro compiler
+  warnings.
+
+- A custom Host: header is only considered if the request is not made by
+  following a location. After discussions with Tim Baker.
+
+Daniel (5 February 2004)
+- The libz part of the configure script now only set the two libz-related
+  define HAVE_ZLIB_H and HAVE_LIBZ if both the lib and the header is found.
+  If one is missing, none of the defines is set.
+
+- Andrés García fixed the Mingw makefiles.
+
+- Len Krause reported that curl 7.9.X could do uploading from stdin without
+  doing chunked encoding, which current curl cannot do even if you disable
+  the transfer-encoding chunked header. Now it can again, and test case 98
+  verifies this functionality.
+
+- Tor Arntsen fixed a weird getaddrinfo() usage in the FTP code, preventing
+  the ipv6-code for PORT work on AIX 5.2. We now also provide (better) error
+  messages when bailing out in the that function.
+
+- Tor Arntsen now provides AIX and IRIX (using gcc, xlc and the MIPSPro
+  compilers) automated build logs (http://curl.haxx.se/auto/) and we've fixed
+  numerous minor quirks to make less warnings appear.
+
+Daniel (4 February 2004)
+- Based on a patch by Gilad, we now use the custom timeouts when waiting for a
+  server to connect when using FTP PORT. Previously we always waited 10
+  seconds, no more no less. We now also changed the default (if no timeout is
+  set) to wait 60 seconds for the connect before we fail.
+
+Daniel (3 February 2004)
+- Modified to link with c-ares instead of ares.
+
+Daniel (2 February 2004)
+- Added a configure test to check for which option the (g)nroff tool wants
+  to extract plain text from the man pages. Tor Arntsen told us the AIX
+  version of GNU gnroff doesn't support -man!
+
+- Added an undef of accept in memdebug.h to make curl build with --enable-debug
+  on AIX 5.2 which seems to have accept defined. Reported by Tor Arntsen.
+
+- curl_version() now includes c-ares version info, and curl_version_info() now
+  returns a struct with version SECOND that also includes that info.
+
+- We are now officially using c-ares for asynch name resolves. c-ares is the
+  new library, based on the existing ares but with an extended and slightly
+  modified API.
+
+- Dirk improved the ares timeout code, and now we also include the ares error
+  string when we fail to resolve a name.
+
+- Another tweak to make test case 91 run fine. Now we have another bit on a
+  connection that is set true if the connection is marked for 'retry'. That
+  makes the connection get closed and re-opened and the HTTP-done code must
+  not complain on the fact that no data was received.
+
+- Based on Dirk Manske's patch, I modified the name resolving with ares to
+  feature a timeout for really slow lookups. It now defaults to 300 seconds,
+  but is now adjusted to the CONNECTTIMEOUT/TIMOUE timeouts if one of them
+  is set.
+
+- Fixed the inclusion of ca-bundle.h to really use the one in the build dir
+  before the one in the source dir. Domenico Andreoli found out and reported.
+
+- Added test case 97, a simple POST with a custom Content-Type header
+  replacing the original application/x-www-form-urlencoded one.
+
+Daniel (30 January 2004)
+- Added code that attempts to fix the test 91 failure. As has been figured out
+  by Patrick Smith, the error happens because we re-use a connection that the
+  server is just about to close and we even manage to send away the request
+  without seeing an error. On the first read attempt we get a ECONNRESET.
+  Starting now, we attempt to detect this and if so, we retry the request on a
+  fresh connection.
+
+- I added test case 510 which is a custom program that does a POST using a
+  read callback, with chunked transfer-encoding.
+
+- Adjusted one of the MPE/iX changes as it made test case 504 fail all over.
+
+- Added --socks as a recognized option. It works just like --proxy but sets a
+  SOCKS5 proxy to use. SOCKS5 support has been available in libcurl for a
+  while, just not provided by the curl tool. This does not currently work for
+  IPv6-enabled libcurls.
+
+Daniel (29 January 2004)
+- Stadler Stephan pointed out that src/hugehelp.c included config.h without
+  checking the define if its present...
+
+- Ken Hirsch provided patches to make curl build fine on the MPE/iX operating
+  system.
+
+- Dan Fandrich compiled curl with lots of aggressively pedantic compiler
+  options and thus found a few minor errors and did some general cleanups to
+  avoid them.
+
+- Dirk Manske fixed a flaw in ares that prevented it to use non-blocking
+  sockets properly.
+
+Daniel (28 January 2004)
+- Richard Bramante fixed chunked transfer-encoded "uploads" to send a final
+  CRLF combo properly.
+
+Daniel (27 January 2004)
+- Made the response-headers during a CONNECT request to a proxy get passed on
+  as regular headers, so they appear with -i/-I options and similar.
+
+- Based on a patch by Gisle Vanem, I've made the progress meter display
+  properly switch to a GB-display when more than 9999MB have been transfered.
+
+Daniel (23 January 2004)
+- Gisle Vanem pointed out a curlrc parser problem/crash when an option with a
+  required didn't have one and was on the last line of a file.
+
+- More Windows fixes for large files. We now build and link with
+  ../lib/strtoofft.c in the app code since Curl_strtoll() is not a provided
+  libcurl function... Perhaps we should consider a 'common' dir or similar
+  where we put source code used in both the lib and the client. Or perhaps
+  we'll just make this function available in the library...
+
+- Vincent Bronner found out the socks5 code crashed when no username was
+  set.
+
+- Vincent Bronner spotted a problem with proxy username/password when re-using
+  a persistent connection.
+
+- Fixed the progress meter display for files larger than 2^31 bytes. Gisle
+  Vanem reported.
+
+Daniel (22 January 2004)
+- Gisle Vanem made strtoll() get used when curl is built with the mingw
+  compiler.
+
+- Gisle Vanem fixed the compressed help text code to display properly.
+
+- Removed the '#define HttpPost' from the public header file, as curl_httppost
+  is the proper name and it has been for quite some time now. Fixes another
+  name space pollution.
+
+- Added 'curl_off_t' typedef in the public header file, to be used to provide
+  large file sizes to the *_LARGE options. Adjusted the code all over to use
+  this variable type instead of 'off_t'. This is an attempt to make the large
+  file support work on more platforms. The configure script now checks the
+  size of the curl_off_t instead of the plain off_t.
+
+Version 7.11.0 (22 January 2004)
+
+Daniel (21 January 2004)
+- Removed the defines in the public header file with TIMECOND_ prefixes. They
+  have been obsolete since April 22nd 2002, and if this causes anyone any
+  problems now it is very easy to just add CURL_ to the names. This corrects
+  this name space pollution.
+
+Daniel (19 January 2004)
+- David Byron cleaned up how --trace with no option was treated, and also
+  arguments in a config file without a required parameter!
+
+Daniel (16 January 2004)
+- Gisle Vanem fixed a few issues where compilers warned about variables
+  possibly being used unassigned.
+
+- Minor Interix build problem fixed.
+
+Daniel (15 January 2004)
+- Peter Sylvester pointed out some necessary escaping needed in the
+  acinclude.m4 file when automake 1.8 or later is used.
+
+Daniel (14 January 2004)
+- Vincent Bronner fixed the Curl_resolv() return code. This extends the fix
+  Steve Green provided on december 3...
+
+Daniel (13 January 2004)
+- Luke Call made the win32 version of the password prompting function support
+  backspace.
+
+- Dan Fandrich fixed the hugehelp source file to contain both a compressed and
+  an uncompressed version in the distribution, so that more people easier can
+  build curl with the compressed version.
+
+- Diego Casorran brought another AmigaOS build patch for native Amiga builds.
+
+- Matt Veenstra updated the Mac OS X framework files.
+
+- Brian R Duffy brought a section to the INSTALL file on how to build a
+  SSL-enabled curl using the free Borland C++ compiler. He also updated the
+  Borland lib/Makefile.b32.
+
+- I fixed the test case 509 which I broke yesterday. Now the libtest are
+  compiled with an include path that points to the library's source dir, so
+  that the libtests can include files from the source tree. This was made to
+  make it possible to use the USE_SSLEAY define in the library test files.
+
+Daniel (12 January 2004)
+- Peter Sylvester brought code that now allows a callback to modified the URL
+  even when the multi interface is used, and then libcurl will simulate a
+  "follow location" to that new URL. Test 509 was added to test this feature.
+
+- Extended the time we retry servers in the test script, and I also made it
+  retry the https and ftps servers before they are considered bad. I believe
+  the previous approach could turn problematic on really slow hosts.
+
+Version 7.11.0-pre1 (12 January 2004)
+
+Daniel (11 January 2004)
+- Dominick Meglio pointed out FTPS should use default port 990 according to
+  IANA.
+
+Daniel (8 January 2004)
+- Fixed the SPNEGO configure check to not use -R or other non-portable options
+  in the LDFLAGS. Reported by Pierre in bug report #872930.
+
+Daniel (5 January 2004)
+- Dan Fandrich provided a fix on our zlib usage.
+
+- David J Meyer's patch that introduce large file support to libcurl was
+  applied. New curl_easy_setopt options that accept 'off_t' arguments are:
+
+  INFILESIZE_LARGE
+  RESUME_FROM_LARGE
+  MAXFILESIZE_LARGE
+
+Daniel (4 January 2004)
+- Based on Dominick Meglio's comments, I made our private version of
+  gettimeofday() declared static. This would otherwise collide with the same
+  function in other libs (like ares for example).
+
+- Added Dominick Meglio's description on how to build libcurl with ares
+  on win32.