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

                               History of Changes
Daniel Stenberg's avatar
Daniel Stenberg committed

Daniel (24 March 2001)
- Colin Watson reported about a problem and brought a patch that corrected it,
  which was about the man page and lines starting with a single quote (') in a
  way that gnroff doesn't like.

Daniel (23 March 2001)
- Peter Bray reported correctly that the root makefile used make instead of
  $(MAKE) for the test target.

- Corrected the Curl::easy perl interface to use curl_easy_setopt() and not
  curl_setopt() which was removed in 7.7!

- SM provided updates on three documents (MANUAL, INSTALL and FAQ).

- When following a Location:, libcurl would sometimes write to the URL string
  in a way it shouldn't. As the pointer is passed-in to libcurl from an
  application, we can't be allowed to write to it. The particular bug report
  from 'nk' that brought this up was because he had a read-only URL that then
  caused a libcurl crash!

- No longer reads HEAD responses longer than to the last header. Previously,
  curl would read the full reply if the connection was a "close" one.

- libcurl did re-use connections way too much. Doing "curl
  http://www.{microsoft,ibm}.com" would make it re-use the connection which
  made the second request return very odd results.

Daniel (22 March 2001)
- Edin Kadribasic made me aware that curl should not re-send POST requests
  when following 302-redirects. I made 302 work like 303 which means curl uses
  GET in the following request(s).

- libcurl now reset the "followed-location" counter on each invoke of
  curl_easy_perform() as it otherwise would sum up all redirects on the same
  connection and thus could reach the maxredirs counter wrongly.

- Jim Drash suggested curl_escape() should not re-encode what already looks
  like an encoded sequence and I think that's a fair suggestion.

Daniel Stenberg's avatar
Daniel Stenberg committed
Version 7.7

Daniel (22 March 2001)
- The configure script now fails with an error message if gethostbyname_r() is
  detected but it couldn't figure out how to invoke it (what amount of
  arguments it is supposed to get). Reports from Andrés García made me aware
  of this need.

- Talking with Jim Drash made me finally put the curl_escape and curl_unescape
  functions in the curl.h include file and write man pages for them. The
  escape function was modified to use the same interface as the unescape one
  had.

- No bug reports at all on the latest betas. Release time coming up.

Daniel Stenberg's avatar
Daniel Stenberg committed
Version 7.7-beta5

Daniel (19 March 2001)
- Georg Ottinger reported problems with using -C together with -L in the sense
  that the -C info got lost when it was redirected. I could not repeat this
  problem on the 7.7 branch why I leave this for the moment. Test case 39 was
  added to do exactly this, and it seems to do right.

- Christian Robottom Reis reported how his 7.7 beta didn't successfully do
  form posts as elegantly as 7.6.1 did. Indeed, this was a flaw in the header
  engine, as HTTP 1.1 has introduced a new 100 "transient" return code for PUT
  and POST operations that I need to add support for. Section 8.2.3 in RFC2616
  has all the details. Seems to work now!

Daniel Stenberg's avatar
Daniel Stenberg committed
Daniel (16 March 2001)
- After having experienced another machine break-down, we're back.

- Georg Horn's perl interface Curl::easy is now included in the curl release
  archive. The perl/ directory is now present. Please help me with docs,
  examples and updates you think fit.

- Made a new php/ directory in the release archive and moved the PHP examples
  into a subdirectory in there. Not much PHP info yet, but I plan to. Please
  help me here as well!
Daniel Stenberg's avatar
Daniel Stenberg committed
- Made libcurl return error if a transfer is aborted in the middle of a
  "chunk". It actually enables libcurl to discover premature transfer aborts
  even if the Content-Length: size is unknown.

Daniel (15 March 2001)
- Added --connect-timeout to curl, which sets the new CURLOPT_CONNECTTIMEOUT
  option in libcurl. It limits the time curl is allowed to spend in the
  connection phase. This differs from -m/--max-time that limits the entire
Daniel Stenberg's avatar
Daniel Stenberg committed
  file transfer operation. Requested by Larry Fahnoe and others.

  I also updated the curl.1 and curl_easy_setopt.3 man pages and removed the
  item from the TODO.

Daniel Stenberg's avatar
Daniel Stenberg committed
Version 7.7-beta4

Daniel Stenberg's avatar
Daniel Stenberg committed
Daniel (14 March 2001)
Daniel Stenberg's avatar
Daniel Stenberg committed
- Made curl grok IPv6 with HTTP proxies and got everything to compile nicely
  again when ENABLE_IPV6 is set.

  I need to remake things in the test suite. I can't test the FTP parts with
  curl built for IPv6 as it uses a different set of FTP commands then!

- I fell onto a bug report on php.net (posted by Lars Torben Wilson) that was
  a report meant for our project. Anyway, it said the .netrc parsing didn't
  work as supposed, and as I agreed with Lars, I made the netrc parser use
  getpwuid() to figure out the home directory of the effective user and try
  that netrc. It still uses the environment variable HOME for those that don't
  have that function or if the user doesn't return valid pwd info.
Daniel Stenberg's avatar
Daniel Stenberg committed

- Edin Kadribaic posted a bug report where he got a crash when a fetch with
  user+password in the URL followed a Location: to a second URL (absolute,
  without name+password). This bug has been around for a long while and
  crashes due to a read at address zero. Fixed now. Wrote test case 38, that
  tests this.

- Modified the test suite's httpserver slightly to append all client request
  data to its log file so that the test script now better can verify a range
  of requests and not only the last one, as it did previously.

- Updated the curl man page with --random-file and --egd-file details.

Version 7.7-beta3

- Björn Stenberg provided similar fixes as Jörn did and some additional patches
  for non-SSL compiles.

- I increased the interface number for libcurl as I've removed the low level
  functions from the interface. I also took this opportunity to rename the
  Curl_strequal function to curl_strequal and Curl_strnequal to
  curl_strnequal, as they're public libcurl functions (even if they're still
  undocumented).

  This will make older programs not capable of using the new libcurl with
  just a drop-in replacement.

- Jörn Hartroth updated stuff for win32 compiles:
  o config-win32.h was fixed for socklen_t
  o lib/ssluse.c had a bad #endif placement
  o lib/file.c was made to compile on win32 again
  o lib/Makefile.m32 was updated with the new files
  o lib/libcurl.def matches the current interface state

Daniel (13 March 2001)
- It only took an hour or so before Jörn Hartroth found a problem in the
  chunked transfer-encoding. Given his fine example-site, I could easily spot
  the problem and when I re-read the spec (the part I have pasted in the top
  of the http_chunks.h file), I realized I had made my state-machine slightly
  wrong and didn't expect/handle the trailing CRLF that comes after the data
  in each chunk (and those extra two bytes sure feel wasted).

  Had to modify test case 34 to match this as well.

Version 7.7-beta2

Daniel Stenberg's avatar
Daniel Stenberg committed
Daniel (13 March 2001)
- Added the policy stuff to the curl_easy_setopt man page for the two supported
  policies.

- Implemented some support for the CURLOPT_CLOSEPOLICY option. The policies
  CURLCLOSEPOLICY_LEAST_RECENTLY_USED and CURLCLOSEPOLICY_OLDEST are now
  supported, and the "least recently used" is used as default if no policy
  is chosen.

Daniel Stenberg's avatar
Daniel Stenberg committed
Daniel (12 March 2001)
- Added CURLOPT_RANDOM_FILE and CURLOPT_EGDSOCKET to libcurl for seeding the
  SSL random engine. The random seeding support was also brought to the curl
  client with the new options --random-file <file> and --egd-file <file>. I
  need some people to really test this to know they work as supposed. Remember
  that libcurl now informs (if verbose is on) if the random seed is considered
  weak (HTTPS connections).

- Made the chunked transfer-encoding engine detected bad formatted data length
  and return error if so (we can't possibly extract sensible data if this is
  the case). Added a test case that detects this. Number 36. Now there are 60
  test cases.

- Added 5 new libcurl options to curl/curl.h that can be used to control the
  persistant connection support in libcurl. They're also documented (fairly
  thoroughly) in the curl_easy_setopt.3 man page. Three of them are now
  implemented, although not really tested at this point... Anyway, the new
  implemented options are named CURLOPT_MAXCONNECTS, CURLOPT_FRESH_CONNECT,
  CURLOPT_FORBID_REUSE. The ones still left to write code for are:
  CURLOPT_CLOSEPOLICY and its related option CURLOPT_CLOSEFUNCTION.

- Made curl (the actual command line tool) use the new libcurl 7.7 persistant
  connection support by re-using the same curl handle for every specified file
  transfer and after some more test case tweaking we have 100% test case OK.
  I made some test cases return HTTP/1.0 now to make sure that works as well.

- Had to add 'Connection: close' to the headers of a bunch of test cases so
  that curl behaves "old-style" since the test http server doesn't do multiple
  connections... Now I get 100% test case OK.
Loading full blame...