[25th May 2009]
[10th February 2001]
[28th January 2001]
[18th November 2000]
[11th September 2000]
[9th September 2000]
[12th June 2000]
[9th June 2000]
[10th April 2000]
[11th March 2000]
[27th February 2000]
[24th November 1999]
[31st October 1999]
[24th October 1999]
[19th September 1999]
[28th August 1999]
[22nd July 1999]
[30th June 1999]
[6th May 1999]
[8th April 1999]
[7th April 1999]
[21st March 1999]
[12th February 1999]
[4th February 1999]
[18th June 1998]
[15th July 1998]
[18th August 1998]
[7th November 1998]
[8th December 1998]
[18th December 1998]
Removed the Estonian mirror site. Updated links to point
to my new webspace. Corrected DJGPP mirror URLs, and made them
point at the TU-Wien mirror.
A snapshot of my development sources from
CVS is now available. Anyone interested in developing libsocket further is
encouraged to look at this snapshot!
[Top]
I've decided to end libsocket development. Here is the announcement
I sent to the libsocket mailing list:
As the title suggests, I am ending development of libsocket.
I no longer have the time, energy or interest to keep on developing libsocket
to a good standard. It's a bit sad, because I've learnt a lot since I took
over maintainership from Indrek Mandre.
I did make a little progress towards proper Winsock 2 support
(using WSOCK2.VXD) at the end of December. If anyone would like to take over
maintainership, please mail me and I'd be happy to discuss it and send you
my current source tree from my personal CVS.
Anyway, thanks for the help & usage of libsocket over
the years. I'm sorry to end development, but libsocket's just
too broken.
HOORAY! libsocket 0.8.0 has finally been released -
please see the download page for details.
I hope to do the next release a little bit faster - much less than
two years. ;) I will try to add Winsock 2 support using WSOCK2.VXD at
the end of December. Hopefully we can then dump the buggy SOCK.VXD.
[Top]
libsocket 0.8.0 pre 1 has been released - please see the
download page for details.
[Top]
I have added man pages in short filename and long filename format to
the libsocket 0.8.0 pre-release 1 section of
the download page.These man pages are
UNSUPPORTED. Just extract them into your DJGPP directory. Then type
e.g. man recv.
libsocket 0.7.4 will actually be released libsocket 0.8.0, since
so much has changed. Also, the interface for WSOCK2.VXD is now known.
Currently SOCK.VXD is too buggy to use, so hopefully using WSOCK2.VXD
will bring libsocket's reliability back up to the level it has with
Winsock 1.
[Top]
I have made several updates to the web pages. The
libsocket 0.7.4 beta 4 documentation is now available
from these pages.
[Top]
libsocket 0.7.4 beta 4 has been released - please see the
download page for details. Here's the
announcement:
Hello.
I'd like to announce the 4th beta of libsocket 0.7.4, a BSD-style
socket library for DJGPP.
This beta release fixes some more bugs in the Winsock 2 support. Many other
bugs have been fixed. Basically this release should be more reliable than
beta 3 is/was. The documentation is now in info format, which means the long
filename problems with the man pages have disappeared. The documentation
archive also contains the manual in HTML format. Some more work has been done
on the Unix domain socket support, but their code is still in an alpha
state.
I'm looking for willing people to help develop libsocket. Coding,
documentation or any other contributions are extremely welcome. If you are
interested, please join the libsocket mailing list.
If you use libsocket, you should download this beta. If you're not convinced,
here are some reasons:
- You have problems with version 0.7.3.
- You are interested in hacking/contributing to libsocket.
- You like the cutting-edge feel of beta programs.
The beta is available from the Simtelnet archive in the beta directory of
v2tk:
ftp://gd.tuwien.ac.at/pc/dos/djgpp/beta/v2tk/ls074b4b.zip
ftp://gd.tuwien.ac.at/pc/dos/djgpp/beta/v2tk/ls074b4d.zip
ftp://gd.tuwien.ac.at/pc/dos/djgpp/beta/v2tk/ls074b4s.zip
Please join the mailing list, if you want to keep up with bug reports,
developments, development snapshots, etc. If you have any questions relating
to libsocket, please mail me and I'll be happy to help.
Thanks, bye,
Richard Dawe <richdawe@bigfoot.com> http://www.bigfoot.com/~richdawe/
6th June 2000
[Top]
I've just produced a second patch for libsocket 0.7.4 beta 3 - see the
download page to download the patch. This fixes
problems found when compiling with binutils 2.9.5.1 beta.
[Top]
Today I sent the following mail to the DJGPP newsgroup, in the run up
to the libsocket 0.7.4 beta 4 release:
I estimate that libsocket 0.7.4 beta 4 will be out within the next couple
of weeks/month. libsocket is a BSD sockets library for DJGPP, which uses
Windows's built-in networking by some low-level hackery.
I would appreciate it if anyone using libsocket 0.7.4 beta 3 or one of the
later development releases would report any bugs to me. There is a list of
known bugs here:
http://homepages.nildram.co.uk/~phekda/richdawe/lsck/dev/bugs074.htm
Even if a bug has been reported, I would like extra information, because I
do not have enough equipment to test libsocket properly.
libsocket 0.7.4 beta 4 will be the last beta before the release of 0.7.4.
I have not really been able to test it properly, so I'd like some help
from some willing testers.
In fact, I think it's time for an announcement: This is probably the last
version of libsocket I will do any active development on. I do not have
enough time to maintain it to the standard I want _by myself_. My interest
in the project has waned over the past six months and I would like to do
other things (with DJGPP) such as a package manager for DJGPP. If
anyone is interested in working on libsocket, then please contact me. I'm
happy to remain as the co-ordinator/maintainer of libsocket, offering
advice, knowledge, etc. where possible, but I just don't have time to do
the investigative work needed to move libsocket on. This wasn't an easy
decision to make, but it's one I think needed making.
Enough said, I think.
[Top]
I've made some minor updates to the web pages - I've separated the web
pages from the libsocket sources, which should make maintainence easier. There
is now a ports page. I've also integrated the
development page into the main libsocket pages.
State of the code: I did a fair amount on libsocket in my Christmas
vacation. Hopefully I will get libsocket 0.7.4 out sometime in the next month
or two. It's mostly done - I fixed a large number of bugs in the Unix domain
socket (so they're usable now) and sorted out the split between the upper BSD
layer and the lower interface layer. In short, it should work better. I'm
going to add some emulation of the MSG_PEEK and MSG_WAITALL flags on recv()
in some kind of generic way. After that I think I will release it. Most of the
documentation is info format now - I've removed the man pages.
I also merged in the Watt-32 code to libsocket, to add DOS support. However,
I later split the libsocket code into two versions in my CVS repository -
0.7.4 will be Windows-only and 0.7.5 will have the added DOS support.
Happy New Year!
[Top]
I've just released
patch 1 for libsocket 0.7.4 beta 3. This
fixes problems with the assembly code that people have experienced with the
gcc 2.95.x compilers. Instructions for applying the patch are included in
the file - you will, of course, need GNU patch.
There also seems to be an issue with the pragmas used by the name resolving
code. I will look into this - it shouldn't affect libsocket adversely.
[Top]
I've just installed the Bugzilla bug-tracking system from
Mozilla. You can view the status of
any bugs in libsocket at the
libsocket
Development Home Page. If you find any bugs or suspicious behaviour,
especially in the Winsock 2 support, please
e-mail me.
[Top]
I've just released a new 1999-07-22 source snapshot patch, patch 5,
at the
libsocket
Development Home Page. This fixes some more bugs in datagram support
and includes some other small changes.
I haven't been able to much development until this weekend,
unfortunately, due to my computer being given a complete overhaul.
Things are approaching normality and I hope to get more done. Hopefully
I'll get a new snapshot out sometime in the next fortnight, followed by
a new beta if things are going well.
[Top]
I've just released a new 1999-07-22 source snapshot patch, patch 4,
at the libsocket
Development Home Page. This fixes the bugs I introduced into the handling
of datagram sockets by csock in an earlier patch. It also fixes problems
with configuring the DNS servers, a clash between resolv.conf and lsck.cfg.
If you're using this source snapshot, apply all the patches *now*. Otherwise
libsocket will not be able to do DNS look-ups because of the datagram bugs.
[Top]
I've been a bit slack updating the news page recently. There's a patch out
for the last source snapshot at the libsocket Development Page (see below). I
haven't had much time to work on libsocket recently, because I've been on
holiday and I've just started working. Due to my lack of time, I've sent
a plea for helpers to the DJGPP newsgroup & libsocket list:
Recently I came very close to deciding to end development on libsocket. It
hasn't exactly been proceeding at a fast pace in recent months and it
feels like libsocket is about to die. Basically I do not have enough to do
all that I want on libsocket - coding, testing, documenting, etc. So I
plead for help with libsocket in any form. I appreciate greatly the help
given so far, but I think more people need to get involved. If you are
interested, please reply by e-mail.
I think the message says it all really. I've also just updated the links
page with some new socket programming links. There are some good documents
out there that I just discovered, particularly the original BSD manuals.
Since libsocket is a BSD socket library, I guess this provides a good
description of what it should do ;)
[Top]
I've just release a new source snapshot at the
libsocket
Development Page. Only download this if you need a cutting edge
version of libsocket or are just curious ;)
Hopefully I'll get the 0.8.0 release of libsocket out sometime in
the near future. It'll probably be August, so don't hold your breath!
[Top]
It's been a while since I've updated this page. Sorry about that.
Current news:
There is now a
libsocket
Development Home Page for those interested in libsocket's
internals or development snapshots.
I have removed my Geocities web page because of Yahoo!/Geocities
recent change in terms of service, which I object to. I don't like the
implications for my intellectual property, so I've moved my home pages
to Freeserve, my ISP. Anyhow, libsocket's home page is here:
http://homepages.nildram.co.uk/~phekda/richdawe/lsck/
I'm going to release one more development snapshot before working
on libsocket 0.8.0. It's time for a new release of libsocket, rather than
beta test versions.
[Top]
libsocket 0.7.4 beta 3 is out - see the download page. Here is the
log of changes over beta 2:
- Fixed some of the debugging messages in src/inet/ghstnmad.c,
src/inet/r_init.c, src/csock/c_initnt.c.
- Man pages now go in man/ off the DJGPP directory, not in share/man/ as
previously.
- Fixed bug in sys/socket.h, which meant that u_int was undefined when using
SO_DONTLINGER. sys/socket.h now includes lsck/bsdtypes.h too, to define
u_int.
- Fixed bug in src/initnt.c where csock interface was not uninitialised.
- Fixed bug in src/fcntl.c that meant the logical NOT of the true value would
be obtained doing e.g. fcntl(sock, F_GETFL, O_NONBLOCK).
- Added Unix domain socket support. THIS IS IN AN ALPHA TEST STATE. It's
extremely buggy.
- Removed nasty hack that sets protocol number when a protocol of 0 is used.
Now a nice mapping table is used.
- Fixed bug in src/csock/c_recv.c in __csock_recvfrom(). It should now return
the address correctly. Also, it should work if the 'from' parameters is NULL.
- Fixed bug in src/wsock/w_recv.c which always returned the address, even if
the 'from' parameter were NULL.
- Added support for FIONREAD with ioctl() for Winsock 1.x module (wsock).
- Fixed src/csock/c_select.c functions __csock_select(), __csock_select_wait()
so they actually work properly.
- Added POSIX function isfdtype(). However, necessary includes are in
sys/socket.h rather than sys/stat.h.
- Added fcntl() support for csock interface.
- Fixed bugs in non-blocking ioctl FIONBIO for both wsock & csock.
- Moved to an interface descriptor, so that the BSD calls now do not need to
know the internals of each interface in *any* way. The interface descriptor
also includes address and routing tables. The code was updated to build the
address tables correctly for each IP address, including the loopback
network.
- Fixed problem with select() on socket that lead to select'ing for reading
always succeeded if the socket was ready for writing.
- Source code reorganisation:
. src/wsock/win311 -> src/win3x
. src/wsock/win95 -> src/win9x
. src/wsock/win95/*.c -> src/win9x/w9x_*.c (some names altered)
- Discovered that the Linux ioctls added were actually BSD-ish, so renamed
demo/linioctl.c to demo/ioctl.c. The refs in the man pages have also been
changed.
- accept() & closesocket() memory leaks fixed.
- connect() fixed for non-blocking operation.
- getsockopt() for wsock interface (src/wsock/w_sckopt.c) now converts errors
returned by SO_ERROR from Winsock to BSD errors.
- Debugging output can now be enabled/disabled with a function call or the
'debug' key in the 'main' section of the configuration file.
I won't be able to work on libsocket for a while, so don't expect any
major updates for a while.
[Top]
Added libsocket to the DJGPP WebRing.
[Top]
Problems
I have found a problem with the top-level Makefiles. If you do not have
GNU textutils installed, then make will fail! The Makefile's use of GNU
textutils is trivial - it uses cat to display a file. This can be fixed by
replacing all occurences of 'cat' in Makefile.src and Makefile.bin with:
command /c type
Mirrors
There have been some problems in setting up automatic mirroring from my
Internet account, so the Geocities page will remain.
[Top]
Problems
Some people have reported not being able to compile the beta 2 of
version 0.7.4 because make cannot find the Makefile. You have to tell make
to use the source Makefile, Makefile.src, like so:
make -f Makefile.src
The reason I have included two Makefiles is so that they can both be
tested. I'm sorry if this is confusing.
Mirrors
I have decided to abandon the Brazilian mirror as I do not have time to
keep it up-to-date. I have also decided to move the libsocket home page from
my Geocities page to my Internet account. I will update the forwarding page
http://libsocket.tsx.org/
accordingly.
Progress Report
Currently I'm working on adding Unix domain socket support (AF_UNIX)
to libsocket by using LAN Manager mailslots. This is so that GNU inetutils
can be ported to DJGPP. I also hope to improve the Winsock 2 support.
[Top]
Winsock 2 support at last!
I have the second beta release of version 0.7.4 ready. Please check the
Changelog for details of the new version. Then
proceed to the download page.
Here's a copy of the announcement file explaining its purpose:
Hello.
I'd like to announce the second beta of libsocket 0.7.4, a BSD-style
socket library for DJGPP.
This beta release is a landmark for libsocket. libsocket finally has
Winsock 2 support! So, it should now work on all versions of Windows other
than Windows NT. The Winsock 2 support isn't as complete as the Winsock 1.x
support.
Credit for the Winsock 2 support must go to Michael Callahan and the Coda
network filesystem project, as they have provided the device driver that
allows libsocket to work with Winsock 2.
Also fixed in the Winsock 1.x interface are:
- Auto-configuration with DHCP
- select() bugs final fixed (again)
Generally it seems more stable. See the home page for the full list.
I'm beta testing this before the final release, because I need to make
some small changes and there are probably still some bugs ;)
You should download this beta if:
- You are interested in hacking/contributing to libsocket.
- You have problems with version 0.7.3.
- You like the cutting-edge feel of beta programs.
The beta is available from the libsocket home page at:
http://libsocket.tsx.org/
If you have any questions relating to libsocket, please mail me and I'll
be happy to help.
Thanks,
Richard Dawe
http://www.bigfoot.com/~richdawe/
February 28th 1998
I've found a new forwarding Web address for libsocket, to replace the old
Monolith one. Here it is:
http://libsocket.tsx.org/
Thanks to tsx.org for providing it for free.
[Top]
I recently found out that Monolith do not support the home.ml.org
forwarding service anymore, so the address
http://libsocket.home.ml.org/
no longer works. Sorry about the inconvenience. They cite technical
difficulties as the reason for this. The libsocket home page's
address is:
http://www.geocities.com/SiliconValley/3216/lsck/
I've also updated the downloads page. Hopefully all the mirrors will also
now be up-to-date.
[Top]
Finally I have a beta release of version 0.7.4 ready. Please check the
Changelog for details of the new version. Then
proceed to the download page.
Here's a copy of the announcement file explaining its purpose:
Hello.
I'd like to announce the first beta of libsocket 0.7.4, a BSD-style
socket library for DJGPP. This beta release has been a long time coming,
and has a few improvements:
- Auto-configuration with DHCP
- Standard include files
- select() bugs final fixed
- More man pages
- Some Linux ioctl() support
Generally it seems more stable. See the home page for the full list.
I'm beta testing this before the final release, because I need to make
a couple of non-major changes and there are probably still some bugs ;) It
shouldn't change much before the final release though.
You should download this beta if:
- You are interested in hacking/contributing to libsocket.
- You have problems with version 0.7.3.
- You like the cutting-edge feel of beta programs.
The beta is available from the libsocket home page at:
http://libsocket.home.ml.org/
If you have any questions relating to libsocket, please mail me and
I'll be happy to help.
Thanks,
Richard Dawe
http://www.bigfoot.com/~richdawe/
February 4th 1998
[Top]
Mirrors
I haven't managed to uploaded all the files to the Estonian mirror yet.
Please be patient & sorry for the inconvenience.
Progress Report
I mentioned in 8th December about the TCP
ABI. Unfortunately, it appears (after some coding) that the TCP ABI drivers are
not stable. I have tried them on two different computers, and the TCP ABI
drivers didn't work. In fact, they appear to cause protection faults, since one
of the computers crashed with EMM386 reporting exception 1.
Unfortunately, I think I will have to abandon the TCP ABI drivers as a way
of providing DOS support. This is a shame, as the coding was going nicely.
So, it looks as if packet drivers are still the best way of providing DOS
support. I will invesigate this sometime again when I have time. In fact,
the next version of libsocket (hopefully out soon) should make it easier for
other people to add code to the library, as it's more modular. So, if anyone
fancies the challenge of adding packet driver code when it is released, please
feel free.
[Top]
Mirrors
I have updated the links on the download page for the new
Estonian mirror. Thanks to Indrek Mandre
(the original libsocket maintainer!) for providing the mirror.
Progress Report
In my earlier news on the 7th November
1998, I mentioned that I was making progress with the DOS version.
Unfortunately, I could not get the packet driver support working properly,
so I decided to abandon it. I am trying an alternative solution using the
TCP Application Binary Interface (TCP ABI), which runs on top of packet
drivers. This should be much simpler (i.e. quicker) to code, and I hope to
have some code ready soon.
It looks like support for all versions of Windows, including Windows NT,
can be added too. Using mailslots and a Windows helper application, it may
possible to circumvent the problems with Winsock 2.
Patches
I am making available a patch for the standard C library, libc,
that adds socket error messages. This will stop error
messages of the form "Unknown error:" appearing when using
perror() or strerror(). This may not be necessary with DJGPP 2.02. The patch
may also fix problems with select(), but this is unconfirmed. The patch
comes with a README file and installs/uninstalls easily.
Download libcfix.zip (10.7K)
Mirrors
I also updated the links on the download page for the new
Brazilian mirror. Thanks to
Alex Fiori for providing the mirror at uground.org.
Progress Report
I am making slow progress on version 0.7.4. I am working on getting DOS
support working. I hope to release an alpha version sometime before Christmas,
so that the many bugs can be eliminated before a proper release. It should
support ICMP, UDP and TCP over IP, using packet drivers. Thanks to Ove Kaaven
for providing me with the basic networking code.
Dan Hedlund, the author of the WSOCK C++ socket library, is working on
Winsock 2 support for WSOCK. Once he has succeeded in making WSOCK work with
Winsock 2, I may be able to add Winsock 2 support to libsocket. If not, then
I may be able to add support some other way. It may even be possible to get
libsocket working under NT!
Miscellaneous
I'd like to thank all those people who have made suggestions, provided
information and generally encouraged me via e-mail. I hope I can implement
many of the suggestions eventually - please be patient.
If you are using libsocket in a project, please e-mail me. I'd like to make
a page to link to all the projects using libsocket.
I've also set up a libsocket mailing list at
onelist.com. I intend to use the list for announcing new alpha versions,
dicussing bugs, etc., but anyone can post to it or read it. It will also be
archived, which should be useful.
[Top]
Release of version 0.7.3.
I have tested this version more throughly than
previous versions, so hopefully I've caught more bugs. Please see the
changelog for version 0.7.3 for details of
the updates.
[Top]
Some people have informed of a problem with libsocket where error messages
like:
Nameserver: [(null)]
are obtained. This is due to a really stupid bug of mine in the resolver
code. Sorry.
The problem can be fixed easily in the source, if you have the source
distribution. In the files:
contrib/lsck072/src/resolve/ghstnmad.c
contrib/lsck072/src/resolve/r_init.c
change all occurrences of "!access" to "access".
The resolver should now work correctly.
The patches to the two distributions can be downloaded below. Please
note that I have updated the archives, so any new downloads already have
the fixed binaries / sources.
As a side note, I am making progress on libsocket 0.7.3, which should
be out (hopefully) in 2-4 weeks. There haven't been many changes yet - I've
been restructuring the library so I can incorporate packet driver support
for DOS networking. The packet driver support will probably be in a later
version though. Also, I should finally be able to test the library with a
dial-up link.
Thanks to those who have offered support and encouragement for
libsocket. I just hope it works for you ;)
[Top]
While preparing libsocket for distribution via the DJGPP archive, I fixed
a couple of things:
Some unnecessary files have been removed from the binary distribution -
contrib\lsck072b\misc\man2html\* - they were only needed in the source
distribution.
The library also uses contrib\lsck072 now, instead of contrib\lsck072b or
contrib\lsck072s.
Some minor bugs were fixed in accept(), socket() and getdomainname().
socket() will now return -1 when it doesn't have enough memory to create a socket,
rather than a file descriptor (as it did before).
Apologies to those who tried to download libsocket, but were prevented
as the ZIP files were corrupted. Please look at the
libsocket Download page to download the new
versions.
[Top]
The layout of this page is by Indrek Mandre, and the content is by
Richard Dawe.
|