                               nss-myhostname 0.3

   Copyright 2005-2011 Lennart Poettering <mzzlubfganzr (at) 0pointer
   (dot) de>
     * [1]License
     * [2]News
     * [3]Overview
     * [4]Current Status
     * [5]Documentation
     * [6]Requirements
     * [7]Installation
     * [8]Acknowledgements
     * [9]Download

License

   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.1 of the License, or
   (at your option) any later version.

   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.

News

   Mon May 9 2011:

   [10]Version 0.3 released. Changes include: Always return locally
   configured IP addresses first, use 127.0.0.2/::1 only as fallback if no
   addresses are configured.

   Mon Oct 27 2008:

   [11]Version 0.2 released. Changes include: Update for IPv6 and newest
   glibc NSS interfaces

   Sat Nov 19 2005:

   [12]Version 0.1 released. Initial release.

Overview

   nss-myhostname is a plugin for the GNU Name Service Switch (NSS)
   functionality of the GNU C Library (glibc) providing host name
   resolution for the locally configured system hostname as returned by
   gethostname(2). Various software relies on an always resolvable local
   host name. When using dynamic hostnames this is usually achieved by
   patching /etc/hosts at the same time as changing the host name. This
   however is not ideal since it requires a writable /etc file system and
   is fragile because the file might be edited by the administrator at the
   same time. nss-myhostname simply returns all locally configure public
   IP addresses, or -- if none are configured -- the IPv4 address
   127.0.0.2 (wich is on the local loopback) and the IPv6 address ::1
   (which is the local host) for whatever system hostname is configured
   locally. Patching /etc/hosts is thus no longer necessary.

Current Status

   It works!

Documentation

   After compiling and installing nss-myhostname you'll find a new NSS
   modules in /lib:
     * libnss_myhostname.so.2

   To activate the NSS modules you have to edit /etc/nsswitch.conf and add
   myhostname to the line starting with "hosts:". On Debian this looks
   like this:
# /etc/nsswitch.conf

passwd:         compat
group:          compat
shadow:         compat

hosts:          files dns myhostname
networks:       files

protocols:      db files
services:       db files
ethers:         db files
rpc:            db files

netgroup:       nis

   That's it. You should now always be able to resolve your local system
   hostname. For a quick check use glibc's getent tool:
$ getent ahosts `hostname`
::1             STREAM omega
::1             DGRAM
::1             RAW
127.0.0.2       STREAM
127.0.0.2       DGRAM
127.0.0.2       RAW

   In this case the local host name is omega.

   It is recommended to put myhostname last in the nsswitch.conf line to
   make sure that this mapping is only used as fallback, and any DNS or
   /etc/hosts based mapping takes precedence.

Requirements

   nss-myhostname uses NSS interfaces that are specific to modern glibc's.

   nss-myhostname was developed and tested on Fedora 15 from May 2011, it
   should work on most other Linux distributions since it uses GNU
   autoconf and GNU libtool for source code configuration and shared
   library management.

Installation

   As this package is made with the GNU autotools you should run
   ./configure inside the distribution directory for configuring the
   source tree. After that you should run make for compilation and make
   install (as root) for installation of nss-myhostname.

Acknowledgements

   None so far.

Download

   The newest release is always available from
   [13]http://0pointer.de/lennart/projects/nss-myhostname/

   The current release is [14]0.3

   Get nss-myhostname's development sources from the [15]GIT
   [16]repository ([17]gitweb):
git clone git://git.0pointer.de/nss-myhostname
     __________________________________________________________________


    Lennart Poettering <mzzlubfganzr (at) 0pointer (dot) de>, May 2011

References

   1. README#license
   2. README#news
   3. README#overview
   4. README#status
   5. README#documentation
   6. README#requirements
   7. README#installation
   8. README#acks
   9. README#download
  10. http://0pointer.de/lennart/projects/nss-myhostname/nss-myhostname-0.3.tar.gz
  11. http://0pointer.de/lennart/projects/nss-myhostname/nss-myhostname-0.2.tar.gz
  12. http://0pointer.de/lennart/projects/nss-myhostname/nss-myhostname-0.1.tar.gz
  13. http://0pointer.de/lennart/projects/nss-myhostname/
  14. http://0pointer.de/lennart/projects/nss-myhostname/nss-myhostname-0.3.tar.gz
  15. http://git.or.cz/
  16. git://git.0pointer.de/nss-myhostname
  17. http://git.0pointer.de/?p=nss-myhostname.git
