In some email I received from Guy Harris, sie wrote:
> On Wed, Feb 12, 2003 at 02:39:35PM +1100, Darren Reed wrote:
> > I'm using libpcap-2002.12.08 on a RedHat 8.0 box and have come across an
> > issue that I think is quite serious.
> > 
> > In fad-getad.c
> 
> So presumably this means that RH 8.0 has "getifaddrs()".

Yes:
/usr/include/ifaddrs.h:extern int getifaddrs (struct ifaddrs **__ifap) __THROW;

> > One solution to this is changing the #define from being
> > "sizeof(struct sockaddr_storage)" to be something else - like this:
> > #define SA_LEN(x)   sizeof(*x)
> 
> ....which works only if, on platforms with "struct sockaddr_storage" and
> "getifaddrs()", and no "SA_LEN()" macro, no address is bigger than the
> type of the addresses in the structure returned by "getifaddrs()".  That
> either means that
> 
>       1) IPv6 isn't supported;

I get a man page for ipv6(7)...

>       2) "struct sockaddr" is big enough, in those systems, for an
>          IPv6 address;

It's 64 bytes big.

>       3) "struct ifaddrs", on that platform, doesn't have "struct
>          sockaddr" pointers in it.

It does have them.  I'll email you /usr/include/ifaddrs.h from RH8.0
separately.

> Or is there some *other* way, on RH 8.0, of inquiring how big the
> address pointed to by a pointer in a "struct ifaddrs" is?

That I can't answer.

Darren
-
This is the TCPDUMP workers list. It is archived at
http://www.tcpdump.org/lists/workers/index.html
To unsubscribe use mailto:[EMAIL PROTECTED]?body=unsubscribe

Reply via email to