LibNcFTP Change Log:
===================

3.1.5, 2002-10-13

 + Compatibility fixes for AIX, Linux, Mac OS X, IRIX 6.2 and SunOS 4.

 + Be less pedantic about incorrectly formatted multi-line responses.

 + For ASCII transfers, try harder to handle non-native end-of-line formats.

 + New timeval fields lastCmdStart and lastCmdFinish which are updated by
   the library automatically.  The purpose of these is to let you check
   them to see if you want to send a NOOP to keep the connection alive.


3.1.4, 2002-07-02

 + Changed declaration of FTPConfirmResumeDownloadProc and
   FTPConfirmResumeUploadProc so first parameter is a FTPCIPtr.
   Unfortunately this will require existing code be slightly revised.

 + Another internal function, Error(), has been renamed to FTPLogError()
   to avoid another namespace collision.

 + New configure flag, --disable-ccdv.

 + Makefile has "distclean" target.

 + Compatibility fixes for C++ and Linux.

 + Fixed a socket leak and a crash on Win32.

 + A few minor fixes for firewall logins.

 + By default, proxy connections for PORT are no longer allowed.  This is
   mostly an extra security precaution, to eliminate cases where someone
   could hijack a data connection by connecting to us after we issue PORT
   but before the server could connect to us.
 
 + Bug fixed in configure script for enabling Socks.

 + A few new firewalls (permutations of type 1).  (Thanks, Felix Buenemann)

 + Try harder to avoid unnecessary SIZE/MDTM/MLST/REST commands.

 + A new "hasHELP_SITE" structure field is available in case you need
   to avoid doing a "HELP SITE".  Some server software (i.e. IBM Mainframes)
   crashes when you do this.


3.1.3, 2002-03-27

 + Enhancements to Monkey.

 + Bug fixed on Solaris where a socket could be left in non-blocking mode.
 
 + Ls parsing is now more forgiving of weird /bin/ls implementations (AIX).

 + Be more lenient on broken server implementations which include extra
   blank lines in the control connection conversation.

 + Compatibility fixes for IRIX 5.x and AIX 4.2.x.

 + Compatibility fixes for Cygwin
   (Thanks, Charles Wilson <cwilson AT ece.gatech.edu>).

 + Some extra debugging information is now logged to the trace logs.

 + Fix namespace collisions with Mac OS headers.  Use "FTPLine" and
   "FTPFileInfo", in place of "Line" and "FileInfo".


3.1.2, 2002-01-30:

 + A fix for the local hostname detection code which could result with only
   the first character of the domain appended, rather than the entire domain
   (Thanks, Bernhard Sadlowski <sadlowsk AT mathematik.uni-bielefeld.de>).

 + Another bug fixed in local hostname detection where looking up the host
   by IP address was not done correctly.

 + Fixed a few portability problems on HP-UX 10.20 which were introduced
   in 3.1.0.

 + Fixed bug with readdir_r usage on Solaris, which could cause crashes
   when doing recursive uploads, among other things.

 + On Linux, use gethostbyname2_r() to specify that we only want IPv4
   addresses returned.

 + Reversing behavior from 3.1.0 where we did a shutdown() on the half
   of the socket that wasn't used.  We suspect this was causing some
   firewalls and routers to panic and assume the whole connection was
   to be closed.

 + Bug fixed where an unresolvable hostname caused a pointless connection
   attempt which would fail.

 + Bug fixed in FTPChdir3 with one-at-a-time mode.

 + Obscure bug fixed in recursive local globbing.

 + Fixes for ncftpsyncput sample program.


3.1.1, 2001-12-23:

 + Fixed bugs with our use of gethostbyname_r/addr_r on Linux.

 + Fixed bugs with our implementation of stat64() on Windows, which caused
   problems when querying information about local directories.


3.1.0, 2001-12-17:

+ Win32 support is now officially incorporated into the library.

+ The library no longer uses signals or expects you to have signal
  handlers for SIGALRM or SIGPIPE.

+ Internal changes should result in the library being more friendly
  to multi-threaded environments, although we still do not have our
  test suite ready to certify that the library is 100% threadsafe.

+ Library defaults to "PASV-but-fallback-to-PORT" mode now (i.e.
  cip->dataPortMode == kFallBackToSendPortMode).  The previous
  default had been PORT mode (cip->dataPortMode == kSendPortMode).

+ Library now uses timeouts by default since a signal handler is not
  required (kDefaultXferTimeout==600, kDefaultConnTimeout==30, and
  kDefaultCtrlTimeout==135).

+ Bug fixed where puts could delay a few seconds unnecessarily after
  the file had been sent.

+ Library optimizations should result in less unneeded code included with
  programs that use the libraries.  Your programs should be smaller as a
  result.

+ Recursive uploading has been substantially reworked for both functionality
  and reliability.  Arbitrary pathname sizes have also been removed, so
  directory trees should only be limited by available memory and stack space.

+ Huge number of lint fixes.  LibNcFTP now compiles cleanly on several
  platforms even with extra warning options enabled.

+ Large number of internal changes to the configure scripts.
