On Tue, Jul 15, 2003 at 05:37:39PM -0400, Tom Lane wrote:
>
> > I'm not sure, it was used before.
>
> Before when? A quick grep finds it nowhere in either the 7.2 or 7.3
> trees ... which means we have zero field experience with it. My guess
> is that someone threw it in and punted on making configure set it up.
It was in CVS when I started working on my patch, so I assumed it
was checked somewhere.
> In 7.3 and before, we never bother to set sin_len or sun_len as far as
> I can see. Is it really necessary to start setting them now?
I don't know. It's probably set when you call getpeername() or
something. I doubt the kernel looks at it in other calls.
It's the other ipv6 patch that was applied that probably started
doing it, so I also did it.
> If we could dispense with the tests in the .c files, we could make a
> much more robust definition of sockaddr_storage along the lines of
>
> struct sockaddr_storage {
> union {
> struct sockaddr sa;
> int64 __ss_align; /* ensure alignment */
> char __ss_pad[128]; /* ensure size */
> } ss_stuff;
> };
>
> #define ss_family ss_stuff.sa.sa_family
I'm not sure about that __ss_align one, I think you need 2 of
them.
Kurt