> From: [EMAIL PROTECTED] (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 [EMAIL PROTECTED] 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).



Mark Valentine, Thuvia Labs <[EMAIL PROTECTED]>       <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 [EMAIL PROTECTED]
with "unsubscribe freebsd-hackers" in the body of the message

Reply via email to