Mailing Lists: Apple Mailing Lists
Image of Mac OS face in stamp
Requesting help with mDNS under Linux
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Requesting help with mDNS under Linux



Apologies in advance if this is the wrong group to which this question should be posted. However, I haven't found a better place to request help on this, so here goes.

I am quite new to understanding Bonjour, ZeroConf, etc, and am trying to get an mDNS responder to work on a Linux server, which provides (local) services (web, mail, etc) to my LAN, on which the workstations are running either Panther (10.3.9) or Tiger (10.4.3).

I have downloaded the most recent mDNSResponder source coded ((107.3) from the OpenDarwin sources. After fixing a bug in the mDNSPosix directory (which I have also posted to Apple's bug reporting system; no response as of yet) I compiled the posix compatible version, using 'cd mDNSPosix; make os=linux'.

Having compiled, I have obtained the following executables and libraries:

dnsextd
libdns_sd.so
libnss_mdns-0.2.so
mDNSClientPosix
mdnsd
mDNSIdentify
mDNSNetMonitor
mDNSProxyResponderPosix
mDNSResponderPosix

Now, from what I have read, I would have expected that mdnsd would be the linux version of the mDNS responder daemon. I can execute it, but I cannot really tell what it is doing beyond listening on tcp: 5353 and on unix port /var/run/mdnsd.

If I execute 'mDNSIdentify <hostname>.local', if hostname is one of the local OSX systems, I get back a meaningful response, eg
> mDNSIdentify gandalf.local
gandalf.local. AAAA FE80:0000:0000:0000:020D:93FF:FEAF:D174
gandalf.local. Addr 192.168.0.154
HINFO Hardware: PowerMac7,3
HINFO Software: Mac OS X 10.4.3 (8F46), mDNSResponder-107.3 (Aug 22 2005 11:46:54)
_services._dns-sd._udp.local. PTR _workstation._tcp.local.
>


which seems reasonable.

If I execute
> mDNSIdentify kobol.local	#kobol is the linux system
I either get back:

kobol.local. Addr 192.168.0.200
Host has no HINFO record; Best guess is Jaguar version of mDNSResponder with no IPv6 support


if mdsnd is running, or just

kobol.local. Addr 192.168.0.200

if mdsnd is NOT running. I'm surprised to see that, without mdsnd running, I get back any form of response, though.

Finally, the minimal documentation available (mostly the makefile) indicates that mDNSResponderPosix and mDNSProxyResponderPosix are for use on embedded systems. mDNSResponderPosix does allow me to create services of various types, which a Bonjour browser over on an OSX system properly sees, but mDNSProxyResponderPosix generate the following:

mDNSResponder: RecordRegistrationCallback: error -65537
mDNSResponder: mDNS_Deregister_internal: Record BFFFE924 gateway.local. (Addr) not found in list
mDNSResponder: Requested deregistration of unregistered record 1.0.168.192.in-addr.arpa. type 12


when I try to use it to register an IP address as a proxy for another host on the network (even though this syntax is actually printed out by the program when executed without any arguments as an example of how to use it).

So, my question is whether anyone has experience with this suite of programs for Linux, and can help me to decipher the purpose and usage of each of these programs and how to properly configure and use mDNS on a Linux based system. There does not seem to be any other codebase that is as complete and maintained as the Apple / Darwin version, so I would like to stick with this if it can be made to properly work. None of the limited documentation or examples I have found online have shed any light, and in fact most of the examples I have found simply do not work when I try them with this codebase.

Thanks.

Neal Lippman
_______________________________________________
Do not post admin requests to the list. They will be ignored.
Bonjour-dev mailing list      (email@hidden)
Help/Unsubscribe/Update your Subscription:
This email sent to email@hidden




Visit the Apple Store online or at retail locations.
1-800-MY-APPLE

Contact Apple | Terms of Use | Privacy Policy

Copyright © 2011 Apple Inc. All rights reserved.