Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 18 Jan 1996 19:09:51 -0800 (PST)
From:      Julian Elischer <julian@ref.tfs.com>
To:        leisner@sdsp.mc.xerox.com (Marty Leisner)
Cc:        hackers@freebsd.org, samba-bugs@anu.edu.au
Subject:   Re: sin_len in sockaddr_in?
Message-ID:  <199601190309.TAA05754@ref.tfs.com>
In-Reply-To: <9601181730.AA12865@gnu.mc.xerox.com> from "Marty Leisner" at Jan 18, 96 09:30:58 am

next in thread | previous in thread | raw e-mail | index | archive | help
The length is because a sockaddr_in is just a derived type from
sockaddr, and sockaddr needs a length field to accomodate such things as:
long ISO addresses
unix domain sockets with flesystem addreses.
some addresses can be variable length (!)
-other new protocols (ipV6?)

this is from net/2 and BSD4.4 directly


> 
> 
> I'm working with samba 1.9.15p8 (on Sunos...)
> 
> I want to close the accepting connections after the fork...
> 
> I noticed:
> (in util.c)
> 
>    3688
>    3689   bzero((char *)&sock,sizeof(sock));
>    3690   memcpy((char *)&sock.sin_addr,(char *)hp->h_addr, hp->h_length);
>    3691 #if defined(__FreeBSD__) || defined(NETBSD) /* XXX not the right ifdef *
>    3692   sock.sin_len = sizeof(sock);
>    3693 #endif
>    3694   sock.sin_port = htons( port );
>    3695   sock.sin_family = hp->h_addrtype;
>    3696   sock.sin_addr.s_addr = INADDR_ANY;
>    3697 
> 
> sock is sockaddr_in...
> 
> On sunos Its defined as:
> struct sockaddr_in {
>         short   sin_family;
>         u_short sin_port;
>         struct  in_addr sin_addr;
>         char    sin_zero[8];
> };
> 
> what's going on?  we pass the length in the call anyway..
> 
> On freebsd it looks like:
> struct sockaddr_in {
>         u_char  sin_len;
>         u_char  sin_family;
>         u_short sin_port;
>         struct  in_addr sin_addr;
>         char    sin_zero[8];
> };
> 
> 
> 
> marty		leisner@sdsp.mc.xerox.com   
> Member of the League for Programming Freedom (http://www.lpf.org)
> Any sufficiently advanced technology is indistinguishable from magic
>         Arthur C. Clarke, The Lost Worlds of 2001
> 




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