home *** CD-ROM | disk | FTP | other *** search
/ ARM Club 3 / TheARMClub_PDCD3.iso / hensa / network / resolv_1 / ReadMe next >
Text File  |  1993-05-13  |  5KB  |  97 lines

  1. This is resolv+ 2.1, a modified version of the resolver library
  2. from BIND 4.8.3.
  3.  
  4. resolv+ allows you to specify whether hostname and address lookups
  5. should be performed with BIND, the /etc/hosts file, NIS, or any
  6. combination of the above.  This is an idea that I stole shamelessly
  7. from Ultrix.
  8.  
  9. Version 2.1 includes further enhancements, including enhanced security
  10. in the form of a hostname spoofing check and the ability to trim domains
  11. from local hostnames.  See the man page resolv+(8) for more information.
  12.  
  13. Other than the changes outlines above, this resolver functions exactly
  14. like that in BIND 4.8.3 (because it *is* the resolver from BIND 4.8.3).
  15.  
  16. To build the resolver library, edit the Makefile and run "make".
  17. If desired, you may edit include/resolv.h and change the MAXNS and
  18. MAXDNSRCH constants first.
  19.  
  20. This resolver library can be included in the system's shared C library
  21. under SunOS 4.1 releases.  To build a shared C library which includes
  22. the resolver, type "make shared".  Be sure to edit Makefile first.
  23. To install the library, skip down three paragraphs.  Warnings:
  24. (1) Some users have reported problems when a PC-NFS server uses resolv+.
  25. Do so at your own risk.  (It may work if you enable the "trim" option
  26. and make sure hostnames in NIS and the hosts file are unqualified, but this
  27. has not been tested.)  (2) You will be unable to generate the shared
  28. library if the directory /usr/lib/shlib.etc is empty.  This directory
  29. is part of the "Shlib_custom" software category and can be installed
  30. from your SunOS distribution tape or CD.
  31.  
  32. To configure host lookups, create /etc/host.conf.  The format of this
  33. file has changed significantly since the last release of resolv+; you
  34. are advised to read the resolv+(8) manual page for details.
  35.  
  36. -------------------------------------------------------------------------------
  37.  
  38. After compiling the library, it should be installed in /usr/lib/libresolv.a.
  39. If you feel particularly ambitious, incorporate it into your systemwide C
  40. library.  If your system uses shared libraries, this can be a (fairly)
  41. easy way to make all of your networking programs use this resolver.
  42.  
  43. To install a new shared C library on a SunOS system, copy the libc.so and
  44. libc.sa files generated by make (they'll be in the shlib subdirectory) into
  45. /lib, then type ldconfig from root.  If things to awry and you must back
  46. out the installation, rename the files to some unrelated name (do NOT
  47. remove them or Bad Things may happen(*)) then type ldconfig again.  If you
  48. want to test the shared library before installing it system-wide, you can
  49. do so by setting the LD_LIBRARY_PATH environment variable to the
  50. name of the directory containing the libc.so file.  If you install a
  51. new shared library it's still a good idea to install the resolver library
  52. in /usr/lib/libresolv.a so it will be used by statically linked programs.
  53.  
  54. ((*) If you remove a shared library file while any running processes are
  55. linked to that library, the processes will die horrible deaths.  The safe
  56. way to remove an old shared library file is to rename it so that the system
  57. will no longer recognize it as a shared library, reboot the system, then
  58. remove it.)
  59.  
  60. Caveat: programs linked on a system with a modified C library may not run
  61. on systems with the stock library.  In particular, resolv+ uses BIND's
  62. h_errno external variable, which is not part of Sun's library.
  63.  
  64. Unless you do incorporate the resolver into a shared C library, you will have
  65. to recompile all your networking programs before you see much benefit from
  66. this package.  If you don't have a source code license, don't feel bad:
  67. you're exactly like most of the rest of us.  Fortunately, the source code
  68. for the Berkeley networking software is publically available from several
  69. major anonymous FTP sites, including ftp.uu.net and gatekeeper.dec.com.
  70.  
  71. If your system runs a particularly crummy version of UNIX, you may have
  72. to copy some of the headers in the include subdirectory into /usr/include,
  73. particularly netdb.h.  (Actually, you should probably copy them all into
  74. /usr/include anyway, since they're more recent than what most vendors ship.
  75. Or you can do like me and put them all into /usr/local/include, since gcc
  76. automatically looks there.)
  77.  
  78. -------------------------------------------------------------------------------
  79.  
  80. Miscellaneous hints and tips:
  81.  
  82. It's a very good idea to statically link sendmail with a regular,
  83. old-fashioned resolver, as some of resolv+'s features can cause it
  84. to function improperly.  If you don't want to do this, you can simulate
  85. the appropriate behaviour by adding something like the following to
  86. /etc/rc.local:
  87.  
  88. RESOLV_SERV_ORDER=bind /usr/lib/sendmail -bd -q15m
  89.  
  90. Note that this will take care of the sendmail server, but not any
  91. locally-called sendmail processes (i.e., users sending mail).  Linking
  92. statically is really the best solution.
  93.  
  94. Thanks for bug fixes, enhancements, ideas and suggestions go to John DiMarco,
  95. Patrick Gosling, Chris Metcalf, J. Porter Clark, John P. Rouillard, Tom
  96. Limoncelli, Dan O'Neill and Mic Kaczmarczik.
  97.