Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 20 Jun 2001 07:13:07 +0100 (BST)
From:      Mark Valentine <mark@thuvia.demon.co.uk>
To:        element@Dim.com (Adam), hackers@freebsd.org
Subject:   Re: Query:  How to tell if Microsoft is using BSD TCP/IP code?
Message-ID:  <200106200613.f5K6D7k33514@dotar-sojat.thuvia.org>
In-Reply-To: Adam's message of Jun 19,  9:22pm

next in thread | raw e-mail | index | archive | help
> From: element@Dim.com (Adam)
> Date: Tue 19 Jun, 2001
> Subject: Re: Query:  How to tell if Microsoft is using BSD TCP/IP code?

> An article over on www.Kuro5hin.org by a someone who claims
> to be a former MS employee describes the stack used in NT back
> in the early 90's as code which was liscensed from a company
> called 'Spider'.

Correct.  Spider Systems in those days; that product (SpiderTCP)
is still sold by Spider Software <http://www.spider.com>, primarily
targetted at embedded systems.  (I was mark@spider.com for quite a
while, since the days I was spider!mark...)

> In the comp.unix.admin archives I found a post
> which references Spider QNIX as a *nix variant so I'm pretty 
> sure this is who the article is referencing.

Hmm, that's a bit muddled.  A major Spider customer did use
QNX (and still does), but that's not a Spider product (see
<http://www.qnx.com>), just a supported (and neat) platform.

> Anyway this code 
> in turn was pulled from BSD back in the day...

No.  The core SpiderTCP protocol implementation is _not_ derived
from BSD.  Some of the utilities which were added as the product
was developed came from Net/1 or Net/2 (hence the FTP.EXE copyright
string), but others such as route and netstat were written from
scratch, and the BSD utilities were modified to work over TLI and
STREAMS (SpiderTCP is a STREAMS implementation, which is why
NT had STREAMS at least until 4.0; they also used it for their OSI
and X.500 implementation, even though that was not Spider's).

The STREAMS TCP/IP implementation was later replaced (the way
Microsoft wedged SpiderSTREAMS into NT was not pretty), but large
chunks of the utilities remain.

> "...Along with Spider's stack came versions of various 
> TCP/IP-related utility programs, such as ftp, rcp and 
> rsh. Those were ported from BSD sockets to winsock (not
> a huge change) and bundled with NT."

Near enough.  The SpiderTCP utilities still had sockets support
(NOTE: this was never sockets over TLI like the stuff some UNIX
vendors bought from a Spider competitor!) and -DNO_TLI should
have worked, but that TLI code is _still_ there in FTP.EXE!

SpiderTCP sockets used an old BSD API, but was a rewrite to work
over a kernel STREAMS socket interface to the kernel TCP/IP drivers.

> I don't know how much faith you can put in it, but its an 
> interesting read. I found the following snippet to be
> quite curious...
> 
> "And implying that the TCP/IP stack uses BSD code is also 
> false. As I said above there may be small vestiges of it 
> in there, although I doubt it.

I can't confirm thatt, but I suspect there's very little, if any,
SpiderTCP code left in the TCP/IP drivers after the rewrite, and
all other TCP/IP vendors of note in that market would have been
using BSD derived code (even those selling STREAMS implementations,
though they tended to be less modular than Spider's product).

		Cheers,

		mark.

-- 
Mark Valentine, Thuvia Labs <mark@thuvia.co.uk>       <http://www.thuvia.co.uk>;
"Tigers will do ANYTHING for a tuna fish sandwich."       Mark Valentine uses
"We're kind of stupid that way."   *munch* *munch*        and endorses FreeBSD
  -- <http://www.calvinandhobbes.com>;                  <http://www.freebsd.org>;

To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-hackers" in the body of the message




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200106200613.f5K6D7k33514>