home *** CD-ROM | disk | FTP | other *** search
/ ftp.mayn.de / ftp.mayn.de-pub.zip / ftp.mayn.de-pub / apple / apple_unix_2 / README.inetd < prev    next >
Text File  |  2017-03-06  |  6KB  |  145 lines

  1. The file inetd.tar.gz contains source and binaries for the BSD4.3-Reno inetd
  2. for A/UX The BSD4.3-reno inetd has several advantages over the A/UX inetd: it
  3. supports rereading its setup files when sent SIGHUP; it has a number of small,
  4. built-in services (echo, daytime, and others) and it can run daemons as any
  5. user can pass arguments to them.
  6.  
  7. inetd has been further augmented to understand A/UX-format entries in
  8. /etc/servers as well as BSD-format entries (thus, you can just use your
  9. existing /etc/servers and update entries to BSD-format as required). It also
  10. understands A/UX-format rpc entries, can log which daemons were spawned and,
  11. thanks to the tcp_wrappers library, can also perform host-access control for
  12. each daemon.
  13.  
  14. Due to the system-call fixes in A/UX 3.1, the provided 'inetd' binary will
  15. only work under 3.1, but you can recompile it (using 'gcc') for older versions.
  16.  
  17. Files are:
  18.     Makefile :
  19.     A simple makefile to build and install inetd
  20.     README-inetd :
  21.     This file
  22.     hosts_access.5.Z :
  23.     Man page for tcp_wrapper hosts_access file format.
  24.     inetd :
  25.     Working inetd for A/UX 3.1 (must be recompiled with 'gcc'
  26.     for older versions).
  27.     inetd.1m.man :
  28.     BSD-format man page source (will not format with -man on A/UX)
  29.     inetd.1m.Z :
  30.     Formatted and compressed inetd man page
  31.     inetd.c :
  32.     Modified BSD inetd source
  33.     libwrap.a :
  34.     The tcp_wrapper libwrap archive. Required if you wish to
  35.     recompile inetd.
  36.     servers :
  37.     BSD-format conf file for A/UX (if you haven't modified your
  38.     /etc/servers, this is a drop-in replacement)
  39.     services :
  40.     Include just for the heck of it :)
  41.  
  42. The original port was done by John Coolidge (coolidge@apple.com). Since
  43. then, Jim Jagielski (jim@jagubox.gsfc.nasa.gov) has "taken over" keeping
  44. inetd up to date and fixing bugs. If you see any bugs or have any problems
  45. or suggestion, please Email Jim.
  46.  
  47. VERSION HISTORY:
  48.  
  49. ===Version 1.8===============================================================
  50.  
  51.  1. Some minor code cleaning
  52.  2. Have '-p' option override '-a'... before, if 'inetd' was called
  53.     with '-p -a -l', the PARANOID option would be overruled by the
  54.     later "regular" access control option '-a'. This behavior "makes
  55.     sense", but we should know better. Now, '-p' has higher authority
  56.     than '-a'.
  57.  
  58. ===Version 1.7===============================================================
  59.  
  60.  1. Minor buglet: gethostbyname() test should have used 'while' not 'if'
  61.  2. Changed #1 to break out gethostby*() functions as 'if' loops.
  62.  3. Fixed PARANOID code
  63.  
  64. ===Version 1.6===============================================================
  65.  
  66. 2 minor (but #1 was important) changes.
  67.  1. Starting with v1.5, inetd was linked with '-lbsd' to get BSD-type
  68.     signals. However, this caused troubles with some ported shells (such as
  69.     'tcsh'). Now we just call 'set42sig()' to get _only_ what we want and
  70.     avoid having the child inherit compatibility stuff it shouldn't.
  71.  2. Better form of daemon()
  72.  
  73. ===Version 1.5===============================================================
  74.  
  75. Not a lot of code changes (basically some modifications and code cleanup
  76. so that compiling with '-Wall' looks cleaner) but some _major_ additional
  77. functionality. Thanks to Wietse Venemas, author of tcp_wrapper (tcpd), who
  78. allowed me to use some routines of tcpd, inetd 1.5 now includes host access
  79. control. This means you can select which hosts can or cannot spawn which
  80. daemons. Since inetd 1.5 uses the same routines, you can use the same access
  81. control files (/etc/hosts.allow and /etc/hosts.deny) that tcpd does. In fact,
  82. you won't even need to use tcpd anymore. Read the inetd man-page for more
  83. info.
  84.  
  85. As expected, inetd 1.5 requires the tcp_wrappers distribution if you want to
  86. perform a full recompile (my copy of the libwrap.a archive from tcpd 6.3 is
  87. included).
  88.  
  89. ===Version 1.4===============================================================
  90.  
  91. If /etc/servers doesn't exist, then inetd will try /etc/inetd.conf.
  92.  
  93. Changed ordering of daemon() code.
  94.  
  95. ===Version 1.3===============================================================
  96.  
  97. Pretty minor little fixes. It's easier to determine the version of inetd
  98. running. Some network related casts are made where needed. Some code
  99. cleanup as well...
  100.  
  101. ===Version 1.2===============================================================
  102.  
  103. I've fixed a few things... First of all, previous versions assumed that
  104. the "<address>" magic cookie would always be the _only_ argument to the
  105. daemon (and, of course, would _always_ be the 1st one). 'inetd'v1.2 no
  106. longer assumes this.
  107.  
  108.     ... /usr/etc/in.telnetd    in.telnetd -l <address>
  109.  
  110. will work correctly.
  111.  
  112. Also, I've changed the logging "procedure"; it's now logged at the
  113. LOG_LOCAL2 facility (was LOG_DAEMON) and it's now semi-formatted to make
  114. scanning the logs easier. All "daemons" are now logged and 'inetd' is
  115. a little smarter in figuring-out the remote host's address and name.
  116.  
  117. The SIGHUP rereading-bug (which only happened occasionally) has been
  118. fixed as well.
  119.  
  120. Finally, some semi-major code-shuffling was done. This was due to make
  121. things a little more logical as well as to allow Apple-specific capabilities
  122. to be handled in a similar way than non-Apple ones; for example, a failed
  123. 'bind' for an rpc daemon-socket will be retried in the same way the
  124. normal steam socket-types were.
  125.  
  126.  
  127. ==Version 1.1================================================================
  128.  
  129. I've updated John's original port a bit. First of all, 'inetd' will correctly
  130. handle tcp wrapper daemons, such as 'tcpd'. Secondly, I've added, for
  131. future reference, the daemon() function to the program. Finally, I've
  132. added logging capability... basically what this means is that if enabled
  133. (by calling 'inetd' with the "-l" option), 'inetd' will log via syslogd
  134. (LOG_DAEMON at LOG_INFO level) when a daemon is spawned and which host
  135. made the request. This provides, internal to 'inetd' itself, some of the
  136. functionality of 'tcpd' (although 'inetd' doesn't do access lists at all,
  137. yet :) ).
  138.  
  139. --
  140. #include <std/disclaimer.h>
  141.     Jim Jagielski               |  "That is no ordinary rabbit... 'tis the
  142.     jim@jagubox.gsfc.nasa.gov   |   most foul, cruel and bad-tempered
  143.     NASA/GSFC, Code 734.4       |   rodent you ever set eyes on"
  144.     Greenbelt, MD 20771         |                   Tim the Enchanter
  145.