
This is version 1.3.11 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.

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.  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
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, with gdbm, only 20 seconds. The load of the server
is the same, but gdbm needs much more memory for caching.

WARNING: NEVER use libdb1/libdb2 in ndbm compat mode, this does NOT work!

I have a rpc.yppasswdd daemon included, which 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.


1024 Byte limit in NIS protocoll:
---------------------------------
The NIS protocoll has one important limit: keys and data are limited
to 1024 bytes. ypserv 1.3.8 and glibc 2.1 could handle keys and data,
which is bigger 1024 bytes. This will not work with older ypserv or
Linux libc versions like libc5 or glibc 2.0! If you use it with such
systems, it will break NIS support! I don't know, if commercial Unix
versions support it.


For more NIS or NIS+ related stuff, look at
http://www.suse.de/~kukuk/nis/ or http://www.suse.de/~kukuk/nisplus/

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@suse.de>, 19. March 2000
