DNS-SD support in gnome-vfs



I just commited support for dns service discovery using unicast and
multicast dns (called Rendezvous by apple) to gnome-vfs HEAD. The mDNS
support is done using the howl library, and the unicast code just uses
libresolv. 

This has two parts:

1) Gnome-vfs exports API to browse and resolve services using
   dns-sd. This means applications can easily support detection of
   various types of services, both on the local link and system wide
   using unicast dns.

   At the moment there is no support in the gnome-vfs api to publish
   services, because I'm not sure how publish in the unicast case
   (dns-update perhaps?), so I don't want to lock down the API for that
   yet. If you want to publish mDNS stuff you can use howl directly.

2) Support in network:// for service discovery of ftp and webdav
   shares. By default, all link-local share are shown in
   network://, but you can also configure it
   (using /system/dns_sd/display_local) to show just a link to the
   link-local shares, or disable it totally.

   It queries your unicast dns domain for a list of browsing
   domains and shows links to all those domains in network://. You
   can also add additional domains to network:// by setting
   /system/dns_sd/extra_domains to a comma-separated list of
   additional domains.

I have rpms for how availible at: 
   http://people.redhat.com/alexl/RPMS/
These rpms work in FC1 and FC2 (at least) and contains some important
patches that i've sent to the howl mailing list this week.

Testing the mDNS support can be done by exporting things with howl
(use the mDNSPublish app in the howl code, or edit
/etc/howl/mDNSResponder.conf), or by e.g. enabling ftp shares on an OS
X machine on the same network link.

Testing unicast dns-sd is harder. And easy way is to add "dns-sd.org"
to the list of browsed domains with something like:
gconftool-2 -s --type string /system/dns_sd/extra_domains dns-sd.org

Another way is to set up your own dns-sd zones. I've done this on my
box at home, and my zone files contain something like this:

_browse._dns-sd._udp.alex.test:

	IN       NS       192.168.0.10
        IN      PTR     alex.test.
        IN      PTR     dns-sd.org.
        IN      PTR     redhat.com.

_webdav._tcp.alex.test:

	IN       NS       192.168.0.10
        IN      PTR     Test\032Share._webdav._tcp.alex.test.

Test\032Share    IN   SRV     0 0 80 greebo.homeip.net.
Test\032Share    IN   A       192.168.0.1
Test\032Share    IN   TXT    "path=/dav"

=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
 Alexander Larsson                                            Red Hat, Inc 
                   alexl redhat com    alla lysator liu se 
He's an old-fashioned gay stage actor who hangs with the wrong crowd. She's a 
ditzy nymphomaniac mermaid from the wrong side of the tracks. They fight 
crime! 




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