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
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
_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
mDNSResponder: RecordRegistrationCallback: error -65537
mDNSResponder: mDNS_Deregister_internal: Record BFFFE924
gateway.local. (Addr) not found in list
mDNSResponder: Requested deregistration of unregistered record
184.108.40.206.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.