# # Copyright 2007 Sun Microsystems, Inc. All rights reserved. # Use is subject to license terms. # # CDDL HEADER START # # The contents of this file are subject to the terms of the # Common Development and Distribution License (the "License"). # You may not use this file except in compliance with the License. # # You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE # or http://www.opensolaris.org/os/licensing. # See the License for the specific language governing permissions # and limitations under the License. # # When distributing Covered Code, include this CDDL HEADER in each # file and include the License file at usr/src/OPENSOLARIS.LICENSE. # If applicable, add the following below this CDDL HEADER, with the # fields enclosed by brackets "[]" replaced with your own identifying # information: Portions Copyright [yyyy] [name of copyright owner] # # CDDL HEADER END # # Copyright 2016 Toomas Soome # Updated from upstream version mDNSResponder-576.30.4 Multicast DNS and Service Discovery support in Solaris using the Apple Bonjour source code (v107.6). Apple Bonjour source can be downloaded from: http://developer.apple.com/networking/bonjour/download/ The following components are integrated from the Apple Bonjour source in Solaris: libdns_sd: usr/src/lib/libdns_sd libjdns_sd: usr/src/lib/libdns_sd/java/common dnssd.jar: usr/src/lib/libdns_sd/java/com (incl. examples) mdnsd: usr/src/cmd/cmd-inet/usr.lib/mdnsd dns-sd: usr/src/cmd/cmd-inet/usr.bin/dns-sd.c Following fixes have been made to the Apple Bonjour source integrated in Solaris: * 64-bit support by adding pad bytes in ipc_msg_hdr_struct * 64-bit support in libjdns_sd, dnssd.jar (JNISupport.c, DNSSD.java) * mdnsd switches to user 'noaccess' and not 'nobody' after init * Fixes to support IPv6 (mDNSPosix.c, mDNSUNP.c) * Fix error raised when uDNS.c is compiled with Sun Studio compiler * Fix in dnssd_clientstub.c to not check errno when recvmsg returns 0 * mDNSDebug.c modified to not send msgs directly to console when syslog call returns an error. Logs the messages at LOG_INFO level and not LOG_ERR In addition the project introduces the following changes: * A new nss_mdns module is introduced to use Multicast DNS (mdns) for resolving link-local hostnames and is located at: usr/src/lib/nsswitch/mdns * snoop updated to decode mDNS packets * updated /etc/services to include mdns * updated to include mdns * svc:/network/dns/multicast:default introduced to manage mDNS daemon * solaris.smf.manage.mdns & solaris.smf.value.mdns authorizations to modify nss_mdns configuration in svc:/network/dns/multicast:default Both authorizations added in network management execution profile. * Default nsswitch.dns includes mdns as source for hosts & ipnodes * nscd daemon updated to support mdns * SUNWdsdu and SUNWdsdr packages deliver all the new mDNS service discovery components.