[Introduction]
[Source Snapshots]
[Bugs]
[Tools]
Welcome to the development page for
libsocket! This page is intended to document
libsocket's internals to enable its further development. There is not much
information here yet:
Some Notes on debugging libsocket -
This is a brief introduction to debugging libsocket using gdb and a couple
of the demo programs.
libsocket Interface Writer's Guide - This is
nowhere near finished, but may be helpful to read. [It's also highly
out-of-date - e-mail me if you'd
like some of my rough'n'ready development notes.]
My Info file writing notes might be useful
for anyone trying to add to libsocket's texinfo documentation. I also
have some tips from Eli Zaretskii -
eliz-txi.txt.
libsocket uses the services of WSOCK.VXD to provide access to
Winsock 1.x's networking from a DOS box. I have documented this in the
WSOCK.VXD Pseudo-Documentation. See also
the sources in src/wsock/.
libsocket uses the services of SOCK.VXD to provide access to
Winsock 1.x's networking from a DOS box. I have documented this in the
Coda SOCK.VXD Pseudo-Documentation,
so-called because SOCK.VXD was developed as part of the Coda network
file system project. There is a
Freenix
99 paper on Coda that explains about the architecture. See also the sources
in src/csock/.
The
Winsock Programmers' FAQ is useful when trying to understand some of the
limitations placed upon libsocket. For instance, why a ping application
cannot be implemented with libsocket over Winsock 1.1 (no ICMP support).
This should be read by everyone looking at libsocket's internals.
Transport Driver Interface (TDI)
VxD Documentation - This document is from Microsoft. TDI is used by
SOCK.VXD to provide libsocket with TCP/IP networking with Winsock 2. This
document may help deciphering the SOCK.VXD sources easier.
Alfons Hoogervorst has compiled some information about finding out
various IP details under Windows into
ipdata.txt. I have compiled a similar, but
complementary, document called "Where IP
Data is Stored for Network Cards under Windows". These are both
used by libsocket to find IP data for each interface - see the sources in
src/win3x/ and src/win9x/.
libsocket is being written to comply with the Unix98 interface
definition - this can be obtained freely in HTML format, after registration,
from the Unix System page, which
is run by The Open Group.
If you are interested in developing libsocket, please subscribe to the
libsocket Mailing List.
[Top]
Periodic source snapshots of libsocket were made available -
please e-mail me if you require
them:
Old snapshots:
- 1999-05-16 snapshot - patch 1, patch 2
- 1999-07-22 snapshot - change list, patch 1,
patch 2, patch 3, patch 4, patch 5
- 1999-11-07 snapshot - patch 1 (1999-12-12)
- 2000-04-25 snapshot
libsocket 0.7.5 - This is
an abandoned attempt at integrating Watt-32 into libsocket, to allow
programs linked with libsocket to run under DOS and Windows with networking,
rather than requiring separate binaries for both operating systems. It was
abandoned due to time constraints. libsocket 0.7.5 is a separate branch
in the private CVS - no other branches have any Watt-32 code.
libsocket 0.8.0 is the latest
release.
libsocket CVS snapshot 2001-02-10 -
This is a copy of Richard Dawe's CVS of libsocket, just after he announced
that he was no longer going to maintain it. It contains a basic
"hacky" start to support Winsock 2 properly with WSOCK2.VXD.
Anyone interested in developing libsocket further is encouraged to look
at this snapshot!
[Top]
'Tis a shame, but libsocket has bugs too. The Bugzilla system from the
Mozilla project is being used. Since
I don't have a permanent Internet connection, the reports are static only.
Still, they should help follow the progress of bugfixes. If you find a bug,
please e-mail me and I'll enter the
bug and put you on the CC list, so you get updated with any developments.
Here are the bug reports:
A Bug's Life Cycle - This details the
lifecycle of a bug in the Bugzilla bug tracking system. This defines the
meaning of the the terms in the following reports.
libsocket 0.7.3 bugs - This is the last,
finished release of libsocket. All versions after this are development
versions.
libsocket 0.7.4 bugs - This was the
development version and wasin prolonged beta testing. This is now going to
be release as version 0.8.0 (see below). Bugs in specific versions of
this may have been fixed in later source snapshots or patches
(or bugs may have been introduced ;) ).
libsocket 0.8.0 bugs - This is
the development version and will be the first "stable" release
after 0.7.3.
[Top]
These tools might be useful for low-level development:
Ethereal is a GNU GPL'd
packet capture program for Linux. It's excellent and extremely powerful,
with the ability to decode many networking protocols.
FreeCap
is a GNU GPL'd packet capture program for Windows NT.
[Top]
The layout of this page is by Indrek Mandre, and the content is by
Richard Dawe.
|