Problem about libnet on FreeBSD 6.0

Matt Emmerton matt at gsicomp.on.ca
Sat Dec 31 19:37:22 PST 2005


> guomingyan at gmail.com wrote:
>
> > > Did you read my post?
> > > Or are you not on the list?  I sent my response directly to the list,
> > > not including you specifically.
> [...]
> > I am on the list,and I don't receive your post.
> > I think you can send post specifically to me and cc
> > to the list :-).
> > Thanks.
>
> In the future, please respond to personal mails personally.  Neither my
> direct e-mail address nor this mail were intended for public viewing.
>
> The post to which i was referring is:
>
http://lists.freebsd.org/pipermail/freebsd-hackers/2005-December/014986.html

The problem is that libnet defines ether_addr without regard for the fact
that it's defined in our system headers.  This is a bug in libnet, not
FreeBSD.

In particular, libnet/libnet-headers.h has this code, which is very
Linux-centric and works around the duplicate definition problem on Linux,
but doesn't help anyone on other platforms.

    391 #if (!__GLIBC__)
    392 struct ether_addr
    393 {
    394     u_char  ether_addr_octet[6];
    395 };
    396 #endif

The problem has been properly fixed in the current development version of
libnet (net/libnet-devel), by renaming the ether_addr structure to
libnet_ether_addr.

The net/libnet port should be marked BROKEN because of this issue (I've
opened a PR) and folks should use libnet-devel instead, until the net/libnet
port is updated to a newer version.  The net/libnet maintainer has been
notified of this problem.

Regards,
--
Matt Emmerton



More information about the freebsd-hackers mailing list