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

Bug#595779: unblock: cvsd/1.0.20



On Mon, 2010-09-06 at 23:37 +0200, Julien Cristau wrote:
> On Mon, Sep  6, 2010 at 18:13:59 +0200, Arthur de Jong wrote:
> > Please unblock package cvsd. The 1.0.20 contains a fix for mixing IPv4
> > and IPv6 sockets regardless of the order of addresses returned by
> > getaddrinfo() (which changed between lenny and squeeze) and the
> > net.ipv6.bindv6only sysctl.
> 
> Ignoring failure from bind(2) seems like a pretty bad idea.

The daemon does a call to getaddrinfo() to figure out which addresses it
should listen on and tries each one. Currently at least one bind() of
the returned addresses should succeed, other failures are ignored.

Ignoring bind() failures used to be necessary when not using
IPV6_V6ONLY. Without it both IPv6 and IPv4 addresses were returned and
the bind on the IPv4 address would always fail if the IPv6 one
succeeded. cvsd 1.0.20 only changes which failures are ignored.

Perhaps it is now also possible, since we're using IPV6_V6ONLY and
AI_ADDRCONFIG, to log all bind() failures (or even bail out on all
failures) but I'm not 100% sure if that will work on all platforms so
that's why I didn't go that far with the change.

I think sticking with the previous functionality is the safest at this
point but if you think switching to errorring out or logging as error is
better, I'm also fine with that and would upload a version with that
change.

Anyway, thanks for your review. Your work is much appreciated.

-- 
-- arthur - adejong@debian.org - http://people.debian.org/~adejong --

Attachment: signature.asc
Description: This is a digitally signed message part


Reply to: