[prev in list] [next in list] [prev in thread] [next in thread] 

List:       kde-devel
Subject:    Re: DNS based service discovery
From:       Thiago Macieira <thiago.macieira () kdemail ! net>
Date:       2004-10-30 21:13:13
Message-ID: 200410301813.24681.thiago.macieira () kdemail ! net
[Download RAW message or body]

[Attachment #2 (multipart/signed)]


Jakub Stachowski wrote:
>> 4) if the user accesses that site, the name-resolver code must run
>> this: M\195\188ller-Website._http._tcp.xn--mller-kva.org.	IN SRV?
>> which could result in:
>> 	M\195\188ller-Website._http._tcp.xn--mller-kva.org.	IN SRV
>> 		0 0 80 www.xn--mller-kva.org.
>
>Here ends DNS-SD operation and normal DNS starts:
>
>4.5)
>
>> 	www.xn--mller-kva.org.			IN A		192.168.1.2
>> 5) I have no idea how Konqueror gets communicated that from kio_dnssd.
>> It *cannot* be with a redirection to
>> "http://Müller-Website.müller.org",
>
>kio_dnssd implements DNS-SD so it should perform steps 1-4 and redirect
> to www.xn--mller-kva.org. Konqueror will get http://www.müller.org:80
> and use normal DNS.

Agreed. But you have to realise that will trigger yet again one more SRV 
lookup.

So, we get from "Müller-Website" to "Müller-Website._http._tcp.müller.org" 
to "www.müller.org", then back to "_http._tcp.www.müller.org" in order to 
resolve to go back to "www.müller.org" again (either by getting a proper 
SRV reply redirecting to it, or by getting no SRV reply).

It goes PTR -> SRV -> SRV -> A.

>> My conclusions are:
>> - KResolver needs more flags:
>> => one for name-to-name PTR queries
>> => one for generic SRV queries
>> => one for SRV queries which prepends the service and protocol
>
>I think that it needs one flag: "DNS mode" or "DNS-SD mode". In first
> mode everything is ACE encoded (for uDNS),  SRV request has
> <service>.<instance> order. In second mode: <instance> is UTF-8
> encoded, rest is IDN,  SVR is <instance>.<service> order.
>This two modes are never mixed so this flag could be argument for
> constructor.

The first two flags would be DNS-SD exclusively, but I think it would be 
better to separate. So I agree.

>> So you see why I say it's stupid to encode in UTF-8 in uDNS?
>
>It is quite messy. I will ask Stuart Cheshire for comment on IDN/UTF-8
>weirdness.

Please do. I believe IDN was disregarded at the time DNS-SD was conceived 
-- quite possibly because it didn't exist before the beginning of this 
year. But now that it's out there and a standard, it must be upheld.

>We have two clearly separated modes: DNS and DNS-SD. Queries for these
> two are never mixed so there will never be dilemma which syntax should
> be used.

I'm not so sure. As I said, there's some redirection going on from 
kio_dnssd to other ioslaves, which would always use normal DNS/mDNS mode.

>I understand that you don't want to pollute DNS resolver class with code
>violating DNS standards.  In this case DNS-SD stuff can be in separate
> class (like DNSSD::Resolver for example) reusing private parts of
> normal resolver (for example kresolvermanager.cpp,
> kresolverstandardworkers.cpp). I have just started learning inner
> working of KResolver so what I said above about reusing may be
> incorrect.

We'll see that together, don't worry.

>That is bad, I don't think that linking to one more deprecated library
> is good idea.

That leaves us with other DNS-parsing libraries, or with libresolv 
directly.

-- 
  Thiago Macieira  -  Registered Linux user #65028
   thiago (AT) macieira (DOT) info
    ICQ UIN: 1967141   PGP/GPG: 0x6EF45358; fingerprint:
    E067 918B B660 DBD1 105C  966C 33F5 F005 6EF4 5358

[Attachment #5 (application/pgp-signature)]

>> Visit http://mail.kde.org/mailman/listinfo/kde-devel#unsub to unsubscribe <<


[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic