Version:
[0.7.3]
[0.7.2]
[0.7.1]
[0.7.0]
[0.6]
[0.5]
[0.4]
[0.3]
[0.2]
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]
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]
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]
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]
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]
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]
[Top]
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]
[Top]
The layout of this page is by Indrek Mandre, and the content is by
Richard Dawe.
|