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

Daniel Stenberg's avatar
Daniel Stenberg committed
                                  Changelog

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.

- 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 Stenberg's avatar
Daniel Stenberg committed
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 Stenberg's avatar
Daniel Stenberg committed
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 Stenberg's avatar
Daniel Stenberg committed
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.
Daniel Stenberg's avatar
Daniel Stenberg committed
- 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.

Daniel Stenberg's avatar
Daniel Stenberg committed
Version 7.11.2 (26 April 2004)
Loading full blame...