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

                               History of Changes
Daniel Stenberg's avatar
Daniel Stenberg committed

Daniel (3 December 2001)
- Eric Lavigne reported two problems:

  First one in the curl_strnequal() function. I think this problem is rather
  macos 9 specific, as most platform provides a function to use instead of the
  one provided by libcurl.

  A second, more important, was in the way we take care of FTP responses. The
  code would read a large chunk of data and search for the end-of-response
  line within that chunk. When found, it would just skip the rest of the
  data. However, when the network connections are special, or perhaps the
  server is, we could actually get more than one response in that chunk of
  data so that when the next invoke to this function was done, the response
  had already been read and thrown away. Now, we cache the data not used in
  one call, as it could be useful in the subsequent call. Test case 126 was
  added and the test ftp server modified, to exercise this particular case.

Daniel Stenberg's avatar
Daniel Stenberg committed
Version 7.9.2-pre8

Daniel (2 December 2001)
- Bug report #487825 correctly identified a problem when using a proxy and
  following a redirection from HTTP to HTTPS. libcurl then re-used the same
  proxy connection but without doing a proper HTTPS request.

- Fixed win32 compiling quirks.

Version 7.9.2-pre7

Daniel (30 November 2001)
- Documented --disable-epsv and CURLOPT_FTP_USE_EPSV.

Daniel (29 November 2001)
Daniel Stenberg's avatar
Daniel Stenberg committed
- Added --disable-epsv as an option. When used, curl won't attempt to use the
Daniel Stenberg's avatar
Daniel Stenberg committed
  EPSV command when doing passive FTP downloads. Wrote a test case for it.
Daniel Stenberg's avatar
Daniel Stenberg committed

- Eric provided a few more fixes for building on Macs. He also pointed out
  a flaw in the signal handler restoration code.
Daniel Stenberg's avatar
Daniel Stenberg committed
Daniel (28 November 2001)
Daniel Stenberg's avatar
Daniel Stenberg committed
- Fiddled with some Tru64 problems reported by Dimitris Sarris. They appeared
Daniel Stenberg's avatar
Daniel Stenberg committed
  only when using VERBOSE ftp transfers. Do we use a too small buffer for
  gethostbyaddr_r(), was the lack of using in_addr_t wrong or is it that the
  hostent struct must be blanked before use? With Dimitris help and these
  patches, the problems seem to be history.
Daniel Stenberg's avatar
Daniel Stenberg committed

- CURLOPT_FTP_USE_EPSV was added and can be set to FALSE to prevent libcurl
  from using the EPSV command before trying the normal PASV. Heikki Korpela
  pointed out that some firewalls and similar don't like the EPSV so we must
  be able to shut if off to work everywhere.

- I added a configure check for 'in_addr_t' and made the ftp code use that to
  receive the inet_addr() return code in. Works on Solaris and Linux at
  least. The Linux man page for inet_addr() doesn't even mention in_addr_t...

- Adjusted (almost) all FTP tests to the new command sequence.

- FTP command sequence changes:

  EPSV is now always attempted before PASV. It is the final touch to make IPv6
  passive FTP downloads to work, but EPSV is not restricted to IPv6 but works
  fine with IPv4 too on the servers that support it.

  SIZE is now always issued before RETR. It makes curl know the actual
  download size before the download takes place, as it makes it less important
  to find the size sent in RETR responses. Many sites don't include the size
  in there.

  Both these changes made it necessary to change the test suite's ftp server
  code, and all FTP test cases need to be checked and adjusted!

Daniel (27 November 2001)
- Hans Steegers pointed out that the telnet code read from stdout, not stdin
  as it is supposed to do!

Version 7.9.2-pre6

Daniel Stenberg's avatar
Daniel Stenberg committed
Daniel (27 November 2001)
Daniel Stenberg's avatar
Daniel Stenberg committed
- Eric Lavigne's minor changes to build on MacOS before OS X were applied.

- greep at mindspring.com provided a main index.html page for our release
  archive docs directory. It just links to all the existing HTML files, but
  I think it may come useful to people.

Daniel Stenberg's avatar
Daniel Stenberg committed
- There's now some initial code to support the EPSV FTP command. That should
  be used to do passive transfers IPv6-style. The code is still #if 0'ed in
  lib/ftp.c as I have no IPv6 ftp server to test this with.

Daniel Stenberg's avatar
Daniel Stenberg committed
Daniel (26 November 2001)
- Robert Schlabbach had problems to understand how to do resumed transfers,
  and I clarified the man page -C section somewhat.

Daniel Stenberg's avatar
Daniel Stenberg committed
Version 7.9.2-pre5

Daniel Stenberg's avatar
Daniel Stenberg committed
Daniel (22 November 2001)
- Andrés García helped me out to track down the roots of bug report #479537,
  which was concerning curl returning the wrong error code when failing to
  connect. This didn't happen on all systems, and more specificly I've so far
  only seen this happen on IPv4-only Linux hosts.

- I applied the fixes for the two bugs Eric Lavigne found when doing his MacOS
  port. A missing comma in arpa_telnet.h and a pretty wild write in the FTP
  response reader function. The latter write is however likely to occur in our
  own buffer unless very big FTP server replies (>25K) are read. I've never
  seen such a reply ever, so I think this is a relatively minor risk.

Daniel (21 November 2001)
- Moonesamy provided code to prevent junk from being output when libcurl
  returns an error code but no error description and that corrects how make is
  run in the Makefile.dist file (that appears as root Makefile in release
  archives).

- Eric Lavigne mailed me bugfixes and patches for building libcurl on MacOS
Daniel Stenberg's avatar
Daniel Stenberg committed
  (non-X).
Daniel Stenberg's avatar
Daniel Stenberg committed

- Kevin Roth modified the cygwin files once again, now to build against the
  shared OpenSSL DLLs.

Version 7.9.2-pre4

Daniel (20 November 2001)
- Georg Horn brought a patch that introduced CURLINFO_STARTTRANSFER_TIME,
  complete with man page updates!

Daniel Stenberg's avatar
Daniel Stenberg committed
Daniel (19 November 2001)
Daniel Stenberg's avatar
Daniel Stenberg committed
- Miklos Nemeth provided details enough to update the Borland makefile
  properly.

Daniel Stenberg's avatar
Daniel Stenberg committed
- Lars M Gustafsson found a case with a bad free(). In fact, it was so bad I'm
  amazed we never saw this before!

- Kevin Roth patched the cygwin Makfile.

Daniel (16 November 2001)
- Klevtsov Vadim fixed a bug in how time-conditionals were sent when doing
  HTTP.

Version 7.9.2-pre3

Daniel (14 November 2001)
- Samuel Listopad patched away the problem with SSL we got when someone call
  curl_global_init() => curl_global_cleanup() => curl_global_init(). The
  second init would not "take" and SSL would be unusable with curl from that
  point. This doesn't change the fact that calling the functions that way is
  wrong. curl_global_init() should be called exactly once and not more.

Daniel (13 November 2001)
- Fixed some minor variable type mixups in ftp.c that caused compiler warnings
  on HP-UX 11.00.

- The FTP fix I did yesterday used an uninitialized variable that caused
  spurious errors when doing FTP.

Version 7.9.2-pre2

Daniel Stenberg's avatar
Daniel Stenberg committed
Daniel (12 November 2001)
Daniel Stenberg's avatar
Daniel Stenberg committed
- Ricardo Cadime fell over a multiple-requests problem when first a FTP
Daniel Stenberg's avatar
Daniel Stenberg committed
  directory fetch failed and then a second request is made after that. The
  second request happened to get the FTP server response back from the
  previous request, when it did its initial CWD command.

Daniel Stenberg's avatar
Daniel Stenberg committed
- Bjorn Reese pointed out that we could improve the time diff function to
Daniel Stenberg's avatar
Daniel Stenberg committed
  prevent truncation a bit.

Daniel Stenberg's avatar
Daniel Stenberg committed
- Kai-Uwe Rommel made me aware that -p (http proxy tunnel) silly enough didn't
  work for plain HTTP requests! So I made that work.

Version 7.9.2-pre1

Daniel (12 November 2001)
- Rewrote the Curl_ConnectHTTPProxyTunnel(). It should now not only work a lot
Daniel Stenberg's avatar
Daniel Stenberg committed
  faster, it should also support such ("broken") proxies that John Lask
Daniel Stenberg's avatar
Daniel Stenberg committed
  previously have reported problems with. His proxy sends a trailing zero byte
  after the end of the (proxy-) headers. I've tested this myself and it seems
  to work on a proxy the previous version also worked with...! This rewrite is
  due to the problems John Lask previously experienced.

- Andrés García found out why the "current speed" meter sometimes showed 2048K
  for very quick transfers. It turned out the "time diff"-function returned a
  zero millisecond diff. We now always say it is at least one millisecond! In
  reality, these timers very rarely have that good resolution so even though
  the time diff was longer than 1 millisecond, it was reported as no diff.

- I also modified the getinfo() again when returning times, as Paul Harrington
  reports that 7.9.1 only returns times with 1 second accuracy, which indeed
  is wrong.

Daniel (8 November 2001)
- Marcus Webster found out that curl_formadd() could read one byte outside a
  buffer boundary, which then of course could lead to a crash. Marcus also
  gracefully provided a patch for this this.

- Glen Scott ran configure on his Cobalt Qube and it didn't figure out the
Loading full blame...