libsocket 0.7.2 Changelog
=========================

libsocket Copyright 1997, 1998 by Indrek Mandre
libsocket Copyright 1997, 1998 by Richard Dawe
Portions of libsocket Copyright 1997, 1998 by the Regdos Group

Version 0.7.2 1998-6-12
-----------------------

- The library by default comes ready for building short filename
  programs - use "make lfn" to build long filename programs.

- Fixed read() and write(). Previously they didn't return the correct
  values for non-blocking sockets when no data was present. winsock.h is now
  installed to support non-blocking sockets properly - please see
  question 3.6 of the FAQ for more details.

- Added support for F_GETFL parameter on fcntl().

- Added some Winsock 2 constants to the include files.

- Bugs: Fixed the memory problem I introduced with last version, that
  leads to junk being returned by recv() sometimes. Also fixed send(), recv(),
  sendto(), recvfrom(), getpeername(), getsockname(), getsockopt() and
  setsockopt() to avoid data loss / rubbish being returned.

- Configuration: The configuration files should now be found and read,
  no matter what combination of short and long filenames they were created with
  and are being read with. libsocket now looks for several possible filenames.

- Documentation: Indrek Mandre redesigned the pages. The documentation
  on the Web site should now be the same as that in the archive, or more
  up-to-date. The HTML pages all have short filenames, and therefore can be
  viewed on any version of Windows with a browser. The latest version of
  man2html (1.2) is also included.

- Makefiles: Fixed demo/Makefile. Added some new targets to cope with
  short and long filename issues ("make lfn" and "make sfn"). Added debug and
  nodebug targets to binary distribution.

- Man pages: Added man pages from Linux for read(), write(), fcntl(),
  ioctl() and select(). Fixed mistakes in a couple of the libsocket man pages.

Version 0.7.1 1998-5-12
-----------------------

- Fixed some ambiguities in conditions in the resolver code, so that the
  source could be compiled with gcc 2.8.0 (and later?).

- Added code to query the DHCP VxD, to obtain more DNS addresses
  automatically.

- Tidied up some of the code.

- Fixed many memory leaks and reduced memory usage slightly.

- Fixed some bugs in the DNS address obtaining code.

- gethostname() will no longer return spaces in host names.

- Fixed a bug in callvxd.c that lead to nearly *all* socket functions
  failing :(

- Client demo now has name resolving.

- Found a bug in Netsetup that created host.conf incorrectly when no DNS server
  was present, leading to the computer appearing to hang when resolving names.
  Also fixed some errors in the Netsetup Makefile.

- Slight updates to the FAQ.

- Added a man page for host.conf.

- Added two new targets, debug and nodebug, to the top-level Makefile to create
  Makefile.cfg for debugging and non-debugging builds of the library.

- Moved the library into the contrib/ tree and added manifest files.

Version 0.7.0 Work-in-progress 1998-5-3
---------------------------------------

- Richard Dawe took over maintainance of the library.

- The source files renamed to have short filenames. This lead to
  successful compilation after typing "SET LFN=N" at the DOS prompt.

- The Regdos Group's registry code was incorporated, to allow automatic
  configuration using registry settings.

- Added Winsock 2 detection. Creation of sockets fails, in order to prevent
  protection faults.

- Rearranged the library, and created binary and source distributions.

- Fixed a bug in the VxD calling code, pointed out by George Foot (Later:
  This was actually a mistake.).

- Wrote some new documentation, including a FAQ, and updated the old
  documentation.

- Fixed getdomainname() to look at the environment variable LOCALDOMAIN,
  resolv.conf or the registry, so it's more likely to succeed.

- Modified WS_init() to return errors.

- Added support for the enviroment variable LIBSOCKET, so that configuration
  files could be placed somewhere other than in the Windows directory.

- Upgraded to the latest version of man2html, the program that converts man
  pages into HTML.

- Modified resit to use command-line parameters as well as prompting for a
  name (e.g. the command form "resit jimbo" now works).

- Fixed bug in Netsetup.

- Added some defines: FIONREAD, FIONBIO.

- Fixed socket() and accept() calls.

- Added select() demo, demo/select.c

- The library now works with C++.

Version 0.6 1997-12-02
----------------------

- Made workaround to djgpp's fsext bug, thanks to Heiko Jappe.

- Fixed close(), now fopen() after creating and closing sockets works.

- Added a huge amount of documentation by Richard Dawe.

- Added netsetup script by Richard Dawe.

- Lots of minor bugs fixed.

- Added fcntl() call and defined some new flags that I would like to see
  in future DJGPP versions: O_NDELAY and O_FNDELAY.

Version 0.5 1997-10-11
----------------------

- Fixed misfeatures in Makefiles pointed out by Laszlo Vecsey. Created one
  global Makefile.cfg.

- Name resolving now works.

- Wrote new demo resit that demonstrates name resolving.

Version 0.4 1997-09-15
----------------------

- Fixed the bugfix made in recv(). I discovered that programs crash after
  connect on many Windows '95 installations.

Version 0.3 1997-08-28
----------------------

- Fixed bug in recv()/recvfrom() (blocking and return value and EOF
  condition).

- connect() now waits for Windows; this means send() just after connect()
  works now.

- Wrote new demo httpget that gets http files from WWW servers.

Version 0.2 1997-08-22
----------------------

- Fixed Makefile bug when make all gave errors at demo directory.

- Wrote client.c and server.c as demos at demo directory.
