diff options
author | Lennart Poettering <lennart@poettering.net> | 2004-12-06 18:28:26 +0000 |
---|---|---|
committer | Lennart Poettering <lennart@poettering.net> | 2004-12-06 18:28:26 +0000 |
commit | f983d9ab69dedcf3d707617f449f0b9497f592a1 (patch) | |
tree | e2875a7d7c4d132ae0b0bf29f8847946661424b2 /doc | |
parent | f21cfeae07e2cff02be9a26ea076001d4e4c5fd3 (diff) |
add documentation
git-svn-id: file:///home/lennart/svn/public/nss-mdns/trunk@57 0ee8848e-81ea-0310-a63a-f631d1a40d77
Diffstat (limited to 'doc')
-rw-r--r-- | doc/Makefile.am | 36 | ||||
-rw-r--r-- | doc/README.html.in | 165 | ||||
-rw-r--r-- | doc/style.css | 34 |
3 files changed, 235 insertions, 0 deletions
diff --git a/doc/Makefile.am b/doc/Makefile.am new file mode 100644 index 0000000..752b2d6 --- /dev/null +++ b/doc/Makefile.am @@ -0,0 +1,36 @@ +# $Id$ + +# This file is part of nss-mdns. +# +# nss-mdns is free software; you can redistribute it and/or modify it +# under the terms of the GNU Lesser General Public License as published by +# the Free Software Foundation; either version 2 of the License, or +# (at your option) any later version. +# +# nss-mdns is distributed in the hope that it will be useful, but +# WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +# General Public License for more details. +# +# You should have received a copy of the GNU Lesser General Public License +# along with nss-mdns; if not, write to the Free Software Foundation, +# Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA. + +noinst_DATA = README.html README +EXTRA_DIST = $(noinst_DATA) style.css + +MAINTAINERCLEANFILES = README.html +CLEANFILES = + +if USE_LYNX +README: README.html + lynx --dump $^ | sed 's,file://localhost/.*/doc/README.html,README,' > $@ + +CLEANFILES += README +endif + +tidy: README.html + tidy -qe < README.html ; true + +.PHONY: tidy + diff --git a/doc/README.html.in b/doc/README.html.in new file mode 100644 index 0000000..532b508 --- /dev/null +++ b/doc/README.html.in @@ -0,0 +1,165 @@ +<?xml version="1.0" encoding="iso-8859-1"?> <!-- -*-html-helper-*- --> +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml"> + +<head> +<title>nss-mdns @PACKAGE_VERSION@</title> +<link rel="stylesheet" type="text/css" href="style.css" /> +</head> + +<body> +<h1><a name="top">nss-mdns @PACKAGE_VERSION@</a></h1> + +<p><i>Copyright 2004 Lennart Poettering <@PACKAGE_BUGREPORT@></i></p> + +<ul class="toc"> + <li><a href="#license">License</a></li> + <li><a href="#news">News</a></li> + <li><a href="#overview">Overview</a></li> + <li><a href="#status">Status</a></li> + <li><a href="#documentation">Documentation</a></li> + <li><a href="#requirements">Requirements</a></li> + <li><a href="#installation">Installation</a></li> + <li><a href="#acks">Acknowledgements</a></li> + <li><a href="#download">Download</a></li> +</ul> + +<h2><a name="license">License</a></h2> + +<p>This program is free software; you can redistribute it and/or +modify it under the terms of the GNU Lesser General Public License as +published by the Free Software Foundation; either version 2 of the +License, or (at your option) any later version.</p> + +<p>This program is distributed in the hope that it will be useful, but +WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +Lesser General Public License for more details.</p> + +<p>You should have received a copy of the GNU Lesser General Public License +along with this program; if not, write to the Free Software +Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.</p> + +<h2><a name="news">News</a></h2> + +<div class="news-date">Mon Dec 6 2004: </div> <p class="news-text"><a +href="@PACKAGE_URL@nss-mdns-0.1.tar.gz">Version 0.1</a> released</p> + +<h2><a name="overview">Overview</a></h2> + +<p><tt>nss-mdns</tt> is a plugin for the GNU Name Service +Switch (NSS) functionality of the GNU C Library (<tt>glibc</tt>) +providing host name resolution via <a +href="http://www.multicastdns.org/">Multicast DNS</a> (aka +<i>Zeroconf</i>, aka <i>Apple Rendezvous</i>), effectively allowing +name resolution by common Unix/Linux programs in the ad-hoc mDNS domain <tt>.local</tt>.</p> + +<p><tt>nss-mdns</tt> provides client functionality only, which +means that you have to run a mDNS responder daemon seperately +from <tt>nss-mdns</tt> if you want to register the local host name via +mDNS (e.g. <a href="http://www.porchdogsoft.com/products/howl/">HOWL</a>).</p> + +<p><tt>nss-mdns</tt> is very lightweight (18 KByte stripped binary <tt>.so</tt> compiled with +<tt>-DNDEBUG=1</tt>), has no dependencies besides the <tt>glibc</tt> and requires only minimal +configuration.</p> + +<h2><a name="status">Status</a></h2> + +<p>It works!</p> + +<p>While <tt>nss-mdns</tt> supports resolving IPv6 addresses it does +so via IPv4 multicasts only.</p> + +<h2><a name="documentation">Documentation</a></h2> + +<p>After compiling and installing <tt>nss-mdns</tt> you'll find three +new NSS modules in <tt>/lib</tt>:</p> +<ul><li><tt>libnss_mdns.so.2</tt></li> +<li><tt>libnss_mdns4.so.2</tt></li> +<li><tt>libnss_mdns6.so.2</tt></li></ul> <p><tt>libnss_mdns.so.2</tt> +resolves both IPv6 and IPv4 addresses, <tt>libnss_mdns4.so.2</tt> only +IPv4 addresses and <tt>libnss_mdns6.so.2</tt> only IPv6 addresses. Due +to the fact that most mDNS responders only register local IPv4 +addresses via mDNS, most people will want to use +<tt>libnss_mdns4.so.2</tt> exclusively. Using +<tt>libnss_mdns.so.2</tt> or <tt>libnss_mdns6.so.2</tt> in such a +situation causes long timeouts when resolving hosts since most modern +Unix/Linux applications check for IPv6 addresses first, followed by a +lookup for IPv4.</p> + +<p>To activate one of the NSS modules you have to edit +<tt>/etc/nsswitch.conf</tt> and add <tt>mdns4</tt> +(resp. <tt>mdns</tt>, <tt>mdns6</tt>) to the line starting with "<tt>hosts:</tt>". On Debian this looks like this:</p> + +<pre># /etc/nsswitch.conf + +passwd: compat +group: compat +shadow: compat + +hosts: files dns <b>mdns4</b> +networks: files + +protocols: db files +services: db files +ethers: db files +rpc: db files + +netgroup: nis</pre> + +<p>That's it. You should now be able to resolve hosts from the +<tt>.local</tt> domain with all your applications. For a quick check +use <tt>glibc</tt>'s <tt>getent</tt> tool: + +<pre>$ getent hosts <i>foo</i>.local +192.168.50.4 foo.local</pre> + +<p>Replace <i>foo</i> whith a host name that has been registered with an mDNS responder.</p> + +<p>Due to some traffic suppression algorithms in mDNS responders +repeated mDNS resolutions are slowed down. Consider installing <tt>glibc</tt>'s name +service cache daemon <tt>nscd</tt> to work around this limitation.</p> + +<h2><a name="requirements">Requirements</a></h2> + +<p>Currently, <tt>nss-mdns</tt> is tested on Linux only. A fairly modern <tt>glibc</tt> installation with development headers (2.0 or newer) is required. Not +suprisingly <tt>nss-mdns</tt> requires a kernel compiled with IPv4 +multicasting support enabled.</p> + +<p><tt>nss-mdns</tt> was developed and tested on Debian GNU/Linux +"testing" from December 2004, it should work on most other Linux +distributions (and maybe Unix versions) since it uses GNU autoconf and +GNU libtool for source code configuration and shared library +management. <tt>nss-mdns</tt> has been tested exclusively against the +HOWL mDNS responder daemon.</p> + +<h2><a name="installation">Installation</a></h2> + +<p>As this package is made with the GNU autotools you should run +<tt>./configure</tt> inside the distribution directory for configuring +the source tree. After that you should run <tt>make</tt> for +compilation and <tt>make install</tt> (as root) for installation of +<tt>nss-mdns</tt>.</p> + +<h2><a name="acks">Acknowledgements</a></h2> + +<p>Nothing here yet.</p> + +<h2><a name="download">Download</a></h2> + +<p>The newest release is always available from <a href="@PACKAGE_URL@">@PACKAGE_URL@</a></p> + +<p>The current release is <a href="@PACKAGE_URL@nss-mdns-@PACKAGE_VERSION@.tar.gz">@PACKAGE_VERSION@</a></p> + +<p>Get <tt>nss-mdns</tt>'s development sources from the <a href="http://subversion.tigris.org/">Subversion</a> <a href="svn://seth.intheinter.net/nss-mdns">repository</a> (<a href="http://0pointer.de/cgi-bin/viewcvs.cgi/?root=nss-mdns">viewcvs</a>): </p> + +<pre>svn checkout svn://seth.intheinter.net/nss-mdns/trunk nss-mdns</pre> + +<p>If you want to be notified whenever I release a new version of this software use the subscription feature of <a href="http://freshmeat.net/projects/nss-mdns/">Freshmeat</a>.</p> + +<hr/> +<address class="grey">Lennart Poettering <@PACKAGE_BUGREPORT@>, December 2004</address> +<div class="grey"><i>$Id$</i></div> + +</body> +</html> diff --git a/doc/style.css b/doc/style.css new file mode 100644 index 0000000..bfd04e4 --- /dev/null +++ b/doc/style.css @@ -0,0 +1,34 @@ +/* $Id$ */ + +/*** + * This file is part of nss-mdns. + * + * nss-mdns is free software; you can redistribute it and/or modify it + * under the terms of the GNU Lesser General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * nss-mdns is distributed in the hope that it will be useful, but + * WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public License + * along with nss-mdns; if not, write to the Free Software Foundation, + * Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA. + ***/ + +body { color: black; background-color: white; margin: 0.5cm; } +a:link, a:visited { color: #900000; } +p { margin-left: 0.5cm; margin-right: 0.5cm; } +div.news-date { margin-left: 0.5cm; font-size: 80%; color: #4f0000; } +p.news-text { margin-left: 1cm; } +h1 { color: #00009F; } +h2 { color: #00009F; } +h3 { color: #00004F; margin-left: 0.5cm; } +ul { margin-left: .5cm; } +ol { margin-left: .5cm; } +pre { margin-left: .5cm; background-color: #f0f0f0; padding: 0.4cm;} +.grey { color: #afafaf; } +table { margin-left: 1cm; border:1px solid lightgrey; padding: 0.2cm; } +td { padding-left:10px; padding-right:10px; } |