Date: Tue, 08 Jan 2002 17:57:00 +0000 From: "June Carey" <carey_june@hotmail.com> To: kris@obsecurity.org Cc: net@freebsd.org, bugs@freebsd.org Subject: FreeBSD-4.3 IPv6 bug - Further information. Message-ID: <F1809q58xl8A6P1RY1i0001a740@hotmail.com>
next in thread | raw e-mail | index | archive | help
>So far you haven't given enough information to diagnose the problem.
Actually, I rather think I have given enough information ! :)
Here's the full details anyway:
System: FreeBSD-4.3/i386
Source code: C++ compiled with stock g++ compiler.
Correctly assume that I know how to write Server and Client network
software, and that I've been doing it for years. The normal accept(2) call
in the context of a listening Server is like this:
accept (portDescriptor, &addr, &addrLen)
Where "addr" is a:
union AP_ServerAddrType {
struct sockaddr_in addr;
struct sockaddr_in6 addr6;
};
And "addrLen" is a:
socklen_t addrLen;
CLIENT/SERVER CONNECTION RESULTS:
=================================
Decimal numbering:
In Server IPv4 mode (listening socket sin_family=AF_INET) and a netstat(1)
-a showing Proto=tcp4:
addrLen=16, addr->addr.sin_family=2
In Server IPv6 mode (listening socket sin_family=AF_INET6) and a netstat(1)
-a showing Proto=tcp4:
addrLen=28, addr->addr.sin_family=28
In Server IPv6 mode (listening socket sin_family=AF_INET6) and a netstat(1)
-a showing Proto=tcp6:
addrLen=28, addr->addr.sin_family=28
END OF CLIENT/SERVER CONNECTION RESULTS
=======================================
The "bug" is that netstat(1) shows a tcp4 connection between the Server and
the Client, but accept(2) is filling out the address structure with a
sin_family of 28, when it should be 2 (AF_INET).
The other "bug" I've recently discovered, and which is demonstrated above,
is that when you've got a tcp4 connection between the Client and the Server,
"addrLen" is 28, when it should be 16.
Cheers,
Robin Carey.
>
>Kris
_________________________________________________________________
Send and receive Hotmail on your mobile device: http://mobile.msn.com
To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-net" in the body of the message
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?F1809q58xl8A6P1RY1i0001a740>
