[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Bug#164768: libc: IPv6 still not correct.



On Tue, 2002-10-15 at 11:27, Matthew Vernon wrote:
> Philip Blundell writes:
>  > On Tue, 2002-10-15 at 00:56, Matthew Vernon wrote:
>  > > Executive summary: libc uses an incorrectly-sized sockaddr_in6
>  > > structure, which causes programs running under 2.2 kernels to get
>  > > error messages when in fact they are behving correctly. Hence the
>  > > important severity.
>  > 
>  > >From what you describe, I don't think there is anything incorrect about
>  > the structure in glibc.  If the 2.2 kernel is returning the wrong thing,
>  > that is what should be fixed.
> 
> With respect, I think you misunderstand. The kernel defines what the
> structure should be, and returns it accordingly. It is the job of the
> libc to hide this from the programmer; especially when the structure
> in question changes over time in the kernel (quite legitimately).

Yes, I understand what you're saying.  But, given that the IPv6 APIs are
still evolving, I'm not convinced that libc ought to go to any great
lengths to provide compatibility for kernels that are based on an
earlier version of the standards.  Even if getnameinfo were made to
work, there are likely to be other applications that get confused by the
version of sockaddr_in6 that lacks scope_id.

My attitude would be that 2.2 kernels simply do not support IPv6
properly, and people who want to use this technology should install
2.4.  Adding extra checks to glibc in order to make this or that bit
work slightly better does not seem like the way ahead.

p.




Reply to: