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>