1 # Readme for libnss_mdns 2 3 Andrew White <Andrew.White (a] nicta.com.au> 4 June 2004 5 6 Before using this software, see "Licensing" at bottom of this file. 7 8 9 # Introduction 10 11 This code implements a module for the Name Service Switch to perform 12 hostname lookups using the Darwin mDNSResponder / mdnsd. This code has 13 been tested on Debian and Redhat Linux. It may work on other platforms. 14 It *will not* work on Darwin or Mac OS X - the necessary functionality is 15 already built into the operation system. 16 17 18 # Building and Installing: 19 20 See "ReadMe.txt" for instructions on building and installing. 21 22 When you run "make install" as described in that file: 23 o libnss_mdns-0.2.so and libnss_mdns.so.2 are installed in /lib, 24 o manual pages libnss_mdns(8) and nss_mdns.conf(5) are installed, 25 o nss_mdns.conf is installed in /etc, and 26 o /etc/nsswitch.conf is modified to add "mdns" on the "hosts:" line 27 28 This will cause dns lookups to be passed via mdnsd before trying the dns. 29 30 31 # Testing 32 33 For most purposes, 'ping myhostname.local' will tell you if mdns is 34 working. If MDNS_VERBOSE was set in nss_mdns.c during compilation then 35 lots of chatty debug messages will be dumped to LOG_DEBUG in syslog. 36 Otherwise, nss_mdns will only log if something isn't behaving quite right. 37 38 39 # Implementation details 40 41 libnss_mdns provides alternative back-end implementations of the libc 42 functions gethostbyname, gethostbyname2 and gethostbyaddr, using the Name 43 Service Switch mechanism. More information on writing nsswitch modules 44 can be found via 'info libc "Name Service Switch"', if installed. 45 46 47 # Licensing 48 49 This software is licensed under the NICTA Public Software License, version 50 1.0, printed below: 51 52 NICTA Public Software Licence 53 Version 1.0 54 55 Copyright 2004 National ICT Australia Ltd 56 57 All rights reserved. 58 59 By this licence, National ICT Australia Ltd (NICTA) grants permission, 60 free of charge, to any person who obtains a copy of this software 61 and any associated documentation files ("the Software") to use and 62 deal with the Software in source code and binary forms without 63 restriction, with or without modification, and to permit persons 64 to whom the Software is furnished to do so, provided that the 65 following conditions are met: 66 67 - Redistributions of source code must retain the above copyright 68 notice, this list of conditions and the following disclaimers. 69 - Redistributions in binary form must reproduce the above copyright 70 notice, this list of conditions and the following disclaimers in 71 the documentation and/or other materials provided with the 72 distribution. 73 - The name of NICTA may not be used to endorse or promote products 74 derived from this Software without specific prior written permission. 75 76 EXCEPT AS EXPRESSLY STATED IN THIS LICENCE AND TO THE FULL EXTENT 77 PERMITTED BY APPLICABLE LAW, THE SOFTWARE IS PROVIDED "AS-IS" AND 78 NICTA MAKES NO REPRESENTATIONS, WARRANTIES OR CONDITIONS OF ANY 79 KIND, EXPRESS OR IMPLIED, INCLUDING, WITHOUT LIMITATION, ANY 80 REPRESENTATIONS, WARRANTIES OR CONDITIONS REGARDING THE CONTENTS 81 OR ACCURACY OF THE SOFTWARE, OR OF TITLE, MERCHANTABILITY, FITNESS 82 FOR A PARTICULAR PURPOSE, NONINFRINGEMENT, THE ABSENCE OF LATENT 83 OR OTHER DEFECTS, OR THE PRESENCE OR ABSENCE OF ERRORS, WHETHER OR 84 NOT DISCOVERABLE. 85 86 TO THE FULL EXTENT PERMITTED BY APPLICABLE LAW, IN NO EVENT WILL 87 NICTA BE LIABLE ON ANY LEGAL THEORY (INCLUDING, WITHOUT LIMITATION, 88 NEGLIGENCE) FOR ANY LOSS OR DAMAGE WHATSOEVER, INCLUDING (WITHOUT 89 LIMITATION) LOSS OF PRODUCTION OR OPERATION TIME, LOSS, DAMAGE OR 90 CORRUPTION OF DATA OR RECORDS; OR LOSS OF ANTICIPATED SAVINGS, 91 OPPORTUNITY, REVENUE, PROFIT OR GOODWILL, OR OTHER ECONOMIC LOSS; 92 OR ANY SPECIAL, INCIDENTAL, INDIRECT, CONSEQUENTIAL, PUNITIVE OR 93 EXEMPLARY DAMAGES ARISING OUT OF OR IN CONNECTION WITH THIS LICENCE, 94 THE SOFTWARE OR THE USE OF THE SOFTWARE, EVEN IF NICTA HAS BEEN 95 ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. 96 97 If applicable legislation implies warranties or conditions, or 98 imposes obligations or liability on NICTA in respect of the Software 99 that cannot be wholly or partly excluded, restricted or modified, 100 NICTA's liability is limited, to the full extent permitted by the 101 applicable legislation, at its option, to: 102 103 a. in the case of goods, any one or more of the following: 104 i. the replacement of the goods or the supply of equivalent goods; 105 ii. the repair of the goods; 106 iii. the payment of the cost of replacing the goods or of acquiring 107 equivalent goods; 108 iv. the payment of the cost of having the goods repaired; or 109 b. in the case of services: 110 i. the supplying of the services again; or 111 ii. the payment of the cost of having the services supplied 112 again. 113 114 115 # Links: 116 117 NICTA 118 http://www.nicta.com.au/ 119 Darwin 120 http://developer.apple.com/darwin/ 121 DNS service discovery and link-local 122 http://http://zeroconf.org/ 123 http://http://multicastdns.org/ 124 http://http://dns-sd.org/ 125 http://http://dotlocal.org/ 126