[Dibbler] Hello quick question about dibbler and openbsd

Sly Midnight slymidnight at yahoo.com
Thu Aug 30 15:15:52 CEST 2012

Thanks for the response explaining what the problem was.  While I'd love to help with this problem, I'm not much of a C/C++ programmer (haven't coded in that language in near 10 years).  The best I could probably do is test and help debug stuff.  But I might still consider checking out the code and seeing if I can make sense of it and if so I will post back.  But thanks again.

 From: Tomasz Mrugalski <thomson at klub.com.pl>
To: dibbler at klub.com.pl 
Sent: Wednesday, August 29, 2012 7:44 PM
Subject: Re: [Dibbler] Hello quick question about dibbler and openbsd
On 28.08.2012 23:27, Sly Midnight wrote:
> I just have a quick question about running dibbler client on OpenBSD 5.1
> i386.  I downloaded and compiled dibbler-0.8.2 on my OpenBSD 5.1 router
> I use for my Comcast connection in the hopes of being able to use the
> dibbler-client to help obtain DHCPv6 info from my upstream comcast router.
The support for OpenBSD was never really tested with the reason being
plain old lack of time.

I just reproduced the problem on OpenBSD 4.8 with Dibbler 0.8.3RC1 and
debugged it at bit. It seems that getifaddrs() function does not return
link-local addresses correctly on OpenBSD (or rather the dibbler code
does not process OpenBSD's version of getifaddrs() correctly). For some
reason, on fourth byte there is a non-zero value returned. For example,
if your link-local address is fe80::a:b:c:d on 7th interface, the
address returned will be fe80:7::a:b:c:d. Dibbler then binds that
address (which is successful) and sends the data (which magically have
fe80::a:b:c:d over wire). Server responds and dibbler receives that
data. Then it compares the address that is bound (fe80:7::a:b:c:d) vs.
destination address (fe80::a:b:c:d) and then decides that this packet is
not really for us and drops it.

This code is used on FreeBSD, NetBSD and Mac OS. I'm not sure about Free
and Net, but the code works reliably ok on Mac OS.

Assuming that OpenBSD's getifaddrs() function works as expected, the bug
is somewhere in the if_list_get() in Port-bsd/lowlevel-bsd.c. I'm
unlikely to have time in a near future to debug it thoroughly. Anyone
willing to help?


-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://klub.com.pl/pipermail/dibbler/attachments/20120830/4370d79a/attachment.html>

More information about the Dibbler mailing list