Skip site navigation (1)Skip section navigation (2)
Date:      Fri, 15 Jun 2001 22:40:58 -0700 (PDT)
From:      Matt Wilbur <matt@efs.org>
To:        Jordan Hubbard <jkh@osd.bsdi.com>
Cc:        <roberto@keltia.freenix.fr>, <hackers@FreeBSD.ORG>
Subject:   Re: Query:  How to tell if Microsoft is using BSD TCP/IP code?
Message-ID:  <20010615222037.M89207-100000@sublime.efs.org>
In-Reply-To: <20010615144721D.jkh@osd.bsdi.com>

next in thread | previous in thread | raw e-mail | index | archive | help
How about winsock.dll.. sort of (from Visual studio 97's header files..)
from \devstudio\vc\include:

/* Winsock2.h -- definitions to be used with the WinSock 2 DLL and
 *               WinSock 2 applications.
 *
 * This header file corresponds to version 2.2.x of the WinSock API
 * specification.
 *
 * This file includes parts which are Copyright (c) 1982-1986 Regents
 * of the University of California.  All rights reserved.  The
 * Berkeley Software License Agreement specifies the terms and
 * conditions for redistribution.
 */

Some other snippets from the file:
/*
 * Structures returned by network data base library, taken from the
 * BSD file netdb.h.  All addresses are supplied in host order, and
 * returned in network order (suitable for use in system calls).
 */

struct  hostent {
        char    FAR * h_name;           /* official name of host */
        char    FAR * FAR * h_aliases;  /* alias list */
        short   h_addrtype;             /* host address type */
        short   h_length;               /* length of address */
        char    FAR * FAR * h_addr_list; /* list of addresses */
#define h_addr  h_addr_list[0]          /* address, for backward compat */
};

/*
 * Structures returned by network data base library, taken from the
 * BSD file netdb.h.  All addresses are supplied in host order, and
 * returned in network order (suitable for use in system calls).
 */

struct  hostent {
        char    FAR * h_name;           /* official name of host */
        char    FAR * FAR * h_aliases;  /* alias list */
        short   h_addrtype;             /* host address type */
        short   h_length;               /* length of address */
        char    FAR * FAR * h_addr_list; /* list of addresses */
#define h_addr  h_addr_list[0]          /* address, for backward compat */
};
/*
 * Structures returned by network data base library, taken from the
 * BSD file netdb.h.  All addresses are supplied in host order, and
 * returned in network order (suitable for use in system calls).
 */

struct  hostent {
        char    FAR * h_name;           /* official name of host */
        char    FAR * FAR * h_aliases;  /* alias list */
        short   h_addrtype;             /* host address type */
        short   h_length;               /* length of address */
        char    FAR * FAR * h_addr_list; /* list of addresses */
#define h_addr  h_addr_list[0]          /* address, for backward compat */
};
. . . and so on.

This is hardly conclusive though.. Without OS source code (or disassembly,
as someone else suggested), it's hard to really pin it down.  I'd be
really amazed if Microsoft left easy to find comments in
binaries/libraries documenting code mooching :)

in digging through wsock32.dll and winsock.dll (from win2k) there are
references to "BSD Socket API for Windows", but as Jordan said, that
doesn't mean they used BSD code..

Is any of this any help at all ?

-Matt

On Fri, 15 Jun 2001, Jordan Hubbard wrote:

> Thanks, that represents the first "hard hit" I've seen yet:
>
> root@winston-> strings FTP.EXE |grep "University of California"
> @(#) Copyright (c) 1983 The Regents of the University of California.
>
> Now if we can just locate something in the kernel or a well-used
> DLL..
>
> - Jordan
>


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?20010615222037.M89207-100000>