
This is version 1.3.6 of an YP (NIS version 2) Server for Linux, but it
also runs under other OS like SunOS 4.1.x, Solaris 2.x, AIX, HP-UX,
IRIS, Ultrix and OSF1 (alpha).

This is NOT an NIS+ (NIS version 3) Server !

See the file COPYING for copying restrictions. It is available under
the GNU General Public License. yppasswd is under the copyright from
Theo de Raadt <deraadt@fsa.ca>, look at the head of yppasswd.c.

IMPORTANT:
----------
This version caches the file handles. If you build a new map with
makedbm, add the -c flag or call makedbm -c after updating a map.

There is a new primary ftp site for ypserv:
ftp://ftp.kernel.org/pub/linux/utils/net/NIS
The old site's will not be updated any longer from me.

This version has support for the ndbm database from Sun and the
db ndbm emulation. gdbm is about 3 times faster for most YP
functions, except yp_first/yp_next. gdbm has a runtime from O(n)
for viewing all entries with this, ndbm/db has a runtime from O(n*n) !
Very bad for big maps and initgroups, initgroups will need about 22
minutes for a group file with 10.000 entries and ndbm/db, with gdbm,
only 20 seconds. The load of the server is the same, but gdbm
needs much more memory for caching.

I have the rpc.yppasswdd daemon included. This version  based on the
yppasswd 0.9 from Olaf Kirch. I have rewritten the update routine for
better shadow support and fix some buffer overflow problems.
A yppasswd client is in the contrib directory, which should work on all
platforms. For Linux with glibc 2.x or libc >= 5.4.36, get the
yp-tools 1.4.1. Since I have take over the maintaince of yppasswd, there
will be no new separate version. I have removed the last public version
0.10 from the ftp servers, because it was to buggy.

The NIS server can optionally do DNS lookups for hosts not found in the
regular YP hosts map. But beware that for this to work you
*must* link the YP server to a library where the gethostbyname()
and gethostbyaddr() routines always talk to a DNS server. The default
routines in the normal libc libraries often try to check the
YP servers first -> causing a nice loop...
For Linux, the functions in dns_hosts.c will do that correct, so
you could enable this feature. But this functions will not compile
under other OS then Linux. Under SunOS and Solaris you could use
the resolv+ library, I don't know if they work on other Systems.
DNS lookup is enabled by using the "-b" or "--dns" flag.
You should have a very good and fast DNS server for it, or you could
get a lot of trouble. If you don't need this feature, don't use it !

There are two ways to check if the client is allowed to ask the
ypserv daemon: "securenets" and "tcp wrapper". See the file
"README.secure" for more information.

There are known problems with Linux libc 5.0.9. You should
at least use libc 5.2.18 or greater.

For more NIS or NIS+ related stuff, look at
http://www-vt.uni-paderborn.de/~kukuk/linux/

Thanks to Terje Malmedal <terje.malmedal@usit.uio.no>, who had send
patches for AIX, HP-UX, IRIX, Ultrix and OSF1(alpha).

Thorsten Kukuk <kukuk@uni-paderborn.de>, 2. July 1998
