[PATCH] Resolve Service address in DNSSD::RemoteService

Jakub Stachowski stachowski at hypair.net
Thu Mar 6 19:45:20 GMT 2008

Dnia czwartek, 6 marca 2008, Sebastian Trüg napisał:
> Hi all,
> please find attached a patch for kdelibs/dnssd which adds handling of
> service addresses. ATM we only get the hostname which is completely useless
> in my network since I get stuff like "local.local".

Why is it useless. There can be machine named 'local'  after all. But if you 
then try to ping local.local. and there is lookup error then yes, something 
is broken.

> Address lookup was disabled via AVAHAI_LOOKUP_NO_ADDRESS. Why, I don't
> know.

I always treated hostname resolving as system resolver's job - in this case 
nss_mdnsd module. AFAIK  recent glibc versions have this built-in.

> Now the address is resolved and stored in ServiceBasePrivate, 
> accessible via the new address() method. I know that it would probably make
> more sense to only store it in RemoteService but the design sees it only as
> a trivial extension to ServiceBase without any new members.
> Any objections?

Two things:
1) What about mdnsd? mdnsd-remoteservice.cpp is patched to use 
ResolveEvent::m_address which does not exist. In fact mdnsd does not seem to 
be capable of resolving service and its host name in one shot. So I guess 
when resolve_callback gets called it has to first resolve hostname and only 
then emit resolved(true)

2) Why use QString as type address? I think more specific type like 
QHostAddress would be better.

> Cheers,
> Sebastian

More information about the kde-core-devel mailing list