OpenSolaris_b135/lib/libdns_sd/README

#
# 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
#
#ident	"%Z%%M%	%I%	%E% SMI"
#

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 <dns_sd.h>
  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
* <netinet/in.h> 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.