Re: [Rhythmbox-devel] Request for comment: IPv6 DAAP



>> GNOME Bugzilla ticket #402477 points out that Rhythmbox does not support
>> DAAP over IPv6. In fact, libdmapsharing does not quite work with IPv6
>> yet. I would like to fix this.
>>
>> The largest change requires that Rhythmbox listen on an IPv6
>> address. There is a patch at the bug referenced above that implements
>> the following logic:
>>
>> 1. Try to listen on IPv6
>>
>> 2. If that fails, try to listen on IPv4
>>
>> So, IPv6 will be used if available and IPv4 will only be used if IPv6
>> fails. I don't think I like this technique. What should Rhythmbox
>> do? Should there be a "use IPv6" checkbox in the DAAP plugin
>> configuration?

> As usually in Gnome, it would be better to make it just work without a
> configuration option (for normal users, such an option would be
> meaningless).
> 
> I would be worried to use IPv6 only when it's actually not configured
> correctly, but is available (I believe Ubuntu does this by default).
> However, since DAAP is a local protocol, even if IPv6 is not configured for
> internet connectivity, it might still work for local connections. The
> biggest problem I think is actually finding out if IPv6 is correctly
> configured or not.
> 
> How hard is it to support both IPv4 and IPv6? If we can easily detect
> duplicate clients avaliable in both networks, then we could support both.

Then perhaps:

1. Libdmapsharing serves on both IPv4 and IPv6 as available.

2. As libdmapsharing is observing DMAP services on the client side,
it could check to see if a hostname, service name, port tuple already
exists. If it does, it could skip adding the service.

Right now, I don't think either will require any change to Rhythmbox
proper.

There might be a problem with other clients that do not check for
duplicate services. There has been talk about IPv4 + IPv6 being a problem
for mDNS/SD in general because of duplicate services. I know that some
distributions were shipping with "use-ipv6=no" set in avahi-daemon.conf
for this reason.

-- 
Mike

:wq


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