home *** CD-ROM | disk | FTP | other *** search
- This is resolv+ 2.1, a modified version of the resolver library
- from BIND 4.8.3.
-
- resolv+ allows you to specify whether hostname and address lookups
- should be performed with BIND, the /etc/hosts file, NIS, or any
- combination of the above. This is an idea that I stole shamelessly
- from Ultrix.
-
- Version 2.1 includes further enhancements, including enhanced security
- in the form of a hostname spoofing check and the ability to trim domains
- from local hostnames. See the man page resolv+(8) for more information.
-
- Other than the changes outlines above, this resolver functions exactly
- like that in BIND 4.8.3 (because it *is* the resolver from BIND 4.8.3).
-
- To build the resolver library, edit the Makefile and run "make".
- If desired, you may edit include/resolv.h and change the MAXNS and
- MAXDNSRCH constants first.
-
- This resolver library can be included in the system's shared C library
- under SunOS 4.1 releases. To build a shared C library which includes
- the resolver, type "make shared". Be sure to edit Makefile first.
- To install the library, skip down three paragraphs. Warnings:
- (1) Some users have reported problems when a PC-NFS server uses resolv+.
- Do so at your own risk. (It may work if you enable the "trim" option
- and make sure hostnames in NIS and the hosts file are unqualified, but this
- has not been tested.) (2) You will be unable to generate the shared
- library if the directory /usr/lib/shlib.etc is empty. This directory
- is part of the "Shlib_custom" software category and can be installed
- from your SunOS distribution tape or CD.
-
- To configure host lookups, create /etc/host.conf. The format of this
- file has changed significantly since the last release of resolv+; you
- are advised to read the resolv+(8) manual page for details.
-
- -------------------------------------------------------------------------------
-
- After compiling the library, it should be installed in /usr/lib/libresolv.a.
- If you feel particularly ambitious, incorporate it into your systemwide C
- library. If your system uses shared libraries, this can be a (fairly)
- easy way to make all of your networking programs use this resolver.
-
- To install a new shared C library on a SunOS system, copy the libc.so and
- libc.sa files generated by make (they'll be in the shlib subdirectory) into
- /lib, then type ldconfig from root. If things to awry and you must back
- out the installation, rename the files to some unrelated name (do NOT
- remove them or Bad Things may happen(*)) then type ldconfig again. If you
- want to test the shared library before installing it system-wide, you can
- do so by setting the LD_LIBRARY_PATH environment variable to the
- name of the directory containing the libc.so file. If you install a
- new shared library it's still a good idea to install the resolver library
- in /usr/lib/libresolv.a so it will be used by statically linked programs.
-
- ((*) If you remove a shared library file while any running processes are
- linked to that library, the processes will die horrible deaths. The safe
- way to remove an old shared library file is to rename it so that the system
- will no longer recognize it as a shared library, reboot the system, then
- remove it.)
-
- Caveat: programs linked on a system with a modified C library may not run
- on systems with the stock library. In particular, resolv+ uses BIND's
- h_errno external variable, which is not part of Sun's library.
-
- Unless you do incorporate the resolver into a shared C library, you will have
- to recompile all your networking programs before you see much benefit from
- this package. If you don't have a source code license, don't feel bad:
- you're exactly like most of the rest of us. Fortunately, the source code
- for the Berkeley networking software is publically available from several
- major anonymous FTP sites, including ftp.uu.net and gatekeeper.dec.com.
-
- If your system runs a particularly crummy version of UNIX, you may have
- to copy some of the headers in the include subdirectory into /usr/include,
- particularly netdb.h. (Actually, you should probably copy them all into
- /usr/include anyway, since they're more recent than what most vendors ship.
- Or you can do like me and put them all into /usr/local/include, since gcc
- automatically looks there.)
-
- -------------------------------------------------------------------------------
-
- Miscellaneous hints and tips:
-
- It's a very good idea to statically link sendmail with a regular,
- old-fashioned resolver, as some of resolv+'s features can cause it
- to function improperly. If you don't want to do this, you can simulate
- the appropriate behaviour by adding something like the following to
- /etc/rc.local:
-
- RESOLV_SERV_ORDER=bind /usr/lib/sendmail -bd -q15m
-
- Note that this will take care of the sendmail server, but not any
- locally-called sendmail processes (i.e., users sending mail). Linking
- statically is really the best solution.
-
- Thanks for bug fixes, enhancements, ideas and suggestions go to John DiMarco,
- Patrick Gosling, Chris Metcalf, J. Porter Clark, John P. Rouillard, Tom
- Limoncelli, Dan O'Neill and Mic Kaczmarczik.
-