[Changelog]
     
Library Reference (~330K HTML!)

Version: [0.7.3] [0.7.2] [0.7.1] [0.7.0] [0.6] [0.5] [0.4] [0.3] [0.2]


Version 0.7.3 1998-8-18

  • Rearranged include files so they have their own directory - lsck. These can be included using lines like "#include <lsck/blah.h>". The include files have been heavily reorganised, but existing programs shouldn't have to be changed.

  • libsocket's internal functions were renamed so the prefix "ls_" was changed to "lsck_".

  • Added support to netsetup for the networks file, which allows mapping of domain names to network IP addresses - see the man page networks(5). Also fixed a couple of typos in netsetup's messages.

  • Added support for auto-configuration with Windows for Workgroups 3.11. The DNS IP address is determined from a section in system.ini.

  • Restructured the library to allow addition of packet driver code.

  • Added lsck_perror() and lsck_strerror() functions, which work as perror() and strerror(), but print/return error messages for socket errors too, unlike the libc versions.

  • Bugs: Configuration files now opened in text mode rather than the default file mode; Winsock initialisation now uses the correct ID for WSOCK2.VXD rather than the old one, which was wrong; name server now defaults to using hosts file if host.conf is not present, rather than hanging; resolv_conf_getdomainname() in src/config/domname.c now looks for the various filename combinations possible (created long, read short, etc.); file extension handling of __FSEXT_ready in src/fsext.c; more checks are done on socket function parameters; fixed bugs in the RAS code and the DNS IP list code (lsck_getdnsaddrs()).

  • Demos: The demo program demo/internal.c was renamed to demo/diag.c and modified to give lots of diagnostic information about libsocket's auto-configuration, in addition to demonstrating the internal functions. The demo demo/netnet.c was added to demonstrate lookups from the networks file. httpget can now cope with URLs without a trailing slash, e.g. http://myhost

  • Makefiles: Demos now don't have their debugging information stripped. Added an uninstall target that removes include files and libraries from the DJGPP directory tree. The source distribution Makefile now creates the lib/ directory if it does not already exist. Also fixed clean targets in top-level Makefiles.

  • Removals: src/resolve/rcmd.c, src/resolve/rexec.c and src/resolve/rusrpass.c were removed because they are untested and probably won't work as they rely on functions DJGPP doesn't support (properly). They implement(ed) remote execution of commands. I will put these back if there is demand for them. The man pages for the WS_* functions were removed as the functions no longer exist.

  • Documentation: Added Indrek Mandre's kewl buttons; added questions to the FAQ; other updates.

[Top]


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.

[Top]


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.

[Top]


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++.

[Top]


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.

[Top]


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.

[Top]


Version 0.4 1997-09-15

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

[Top]


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.

[Top]


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.

[Top]


The layout of this page is by Indrek Mandre, and the content is by Richard Dawe.


[Left] [Top] [Right]